diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index 8efa5608..d055febe 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -32,6 +32,9 @@ Version 2.9.2 - WBW: More flexible table-driven config in TUNE.COM - PMS: Added timer support for Zilog Peripherals ECB Board - PLS: Enhanced Intel Hex Load in dbgmon +- WBW: Overhaul disk image creation +- WBW: Added support for Dyno platform (based on work by Steve Garcia) +- S?G: Added support for BQ4845 RTC (bqrtc.asm) Version 2.9.1 ------------- diff --git a/Doc/FDU.txt b/Doc/FDU.txt index b591b7c3..d67fe1fe 100644 --- a/Doc/FDU.txt +++ b/Doc/FDU.txt @@ -1,9 +1,9 @@ ================================================================ Floppy Disk Utility (FDU) v5.3 for RetroBrew Computers -Disk IO / Zeta / Dual-IDE / N8 / RC2014 / SmallZ80 +Disk IO / Zeta / Dual-IDE / N8 / RC2014 / SmallZ80 / Dyno ================================================================ -Updated September 5, 2018 +Updated January 5, 2020 by Wayne Warthen (wwarthen@gmail.com) Application to test the hardware functionality of the Floppy @@ -77,6 +77,7 @@ supported: - RC2014 w/ SMC - RC2014 w/ WDC - SmallZ80 + - Dyno You must be using either a RomWBW or UBA based OS version. @@ -95,7 +96,7 @@ Finally, you will need a floppy drive connected via an appropriate cable: Disk IO - no twist in cable, drive unit 0/1 must be selected by jumper on drive -DISK IO 3, Zeta, Zeta 2, RC2014 - cable with twist, unit 0 after twist, unit 1 before twist +DISK IO 3, Zeta, Zeta 2, RC2014, Dyno - cable with twist, unit 0 after twist, unit 1 before twist DIDE, N8, Mark IV, SmallZ80 - cable with twist, unit 0 before twist, unit 1 after twist Note that FDU does not utilize your systems ROM or OS to @@ -154,6 +155,9 @@ JP2 (TC): 2-3. SmallZ80 does not have any relevant jumper settings. The hardwired I/O ranges are assumed in the code. +Dyno does not have any relevant jumper settings. The +hardwired I/O ranges are assumed in the code. + Modes of Operation ------------------ @@ -505,3 +509,6 @@ WW 9/5/2018: v5.3 condition is no longer considered an error, but a successful end of operation. - Added support for SmallZ80 + +WW 5/1/2020: v5.4 + - Added support for Dyno (based on work by Steve Garcia) diff --git a/Doc/Hard Disk Anatomy.pdf b/Doc/Hard Disk Anatomy.pdf new file mode 100644 index 00000000..54bf0ad5 Binary files /dev/null and b/Doc/Hard Disk Anatomy.pdf differ diff --git a/ReadMe.txt b/ReadMe.txt index 6309bf9e..ce7088c4 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -7,15 +7,15 @@ *********************************************************************** Wayne Warthen (wwarthen@gmail.com) -Version 2.9.2-pre.22, 2019-11-27 +Version 2.9.2-pre.25, 2020-01-06 https://www.retrobrewcomputers.org/ RomWBW is a ROM-based implementation of CP/M-80 2.2 and Z-System for all RetroBrew Computers Z80/Z180 hardware platforms including SBC -1/2, Zeta 1/2, N8, Mark IV, RC2014, SC, and Easy Z80. Virtually all -RetroBrew hardware is supported including floppy, hard disk (IDE, CF -Card, SD Card), Video, and keyboard. VT-100 terminal emulation is -built-in. +1/2, Zeta 1/2, N8, Mark IV, RC2014, SC, Easy Z80, and Dyno. +Virtually all RetroBrew hardware is supported including floppy, hard +disk (IDE, CF Card, SD Card), Video, and keyboard. VT-100 terminal +emulation is built-in. The RomWBW ROM loads and runs the built-in operating systems directly from the ROM and includes a selection of standard/useful applications @@ -191,6 +191,20 @@ the drive containing the CP/M 3 image and use the CPMLDR command to load CP/M. It will ask you for the disk unit number containing the CP/M 3 system files which are on the disk image you created. +ZPM3 +---- + +Like CP/M 3, ZPM3 exists in an experimental state and is started +just like CP/M 3 above. Just use the zpm_hd.img file to create +your CF or SD Card. There is an issue with the ZPMLDR app used +to start ZPM. Instead, just use CPMLDR which works exactly the +same way. + +Note that ZPM3 seems to be completely constrainted to use drive +A: as the boot drive. So, the RomWBW adaptation of ZPM3 will +"swap" the initial drive A: (typically RAM drive) with the +ZPM3 boot drive at startup. + ROM Customization ----------------- diff --git a/Source/Apps/Assign.asm b/Source/Apps/Assign.asm index 28a950ba..b2e27143 100644 --- a/Source/Apps/Assign.asm +++ b/Source/Apps/Assign.asm @@ -22,6 +22,7 @@ ; 2016-04-08 [WBW] Determine key memory addresses dynamically ; 2019-08-07 [WBW] Fixed DPB selection error ; 2019-11-17 [WBW] Added preliminary CP/M 3 support +; 2019-12-24 [WBW] Fixed location of BIOS save area ;_______________________________________________________________________________ ; ; ToDo: @@ -466,7 +467,7 @@ install: ; ; capture CBIOS snapshot and stack frame for error recovery ld hl,(bioloc) ; start of CBIOS - ld de,$8000 ; save it here + ld de,$1000 ; save it here ld bc,(biosiz) ; size of CBIOS ldir ; save it ld (xstksav),sp ; save stack frame @@ -804,7 +805,7 @@ instc3: instovf: ; restore stack frame and CBIOS image ld sp,(xstksav) ; restore stack frame - ld hl,$8000 ; start of CBIOS image buffer + ld hl,$1000 ; start of CBIOS image buffer ld de,(bioloc) ; start of CBIOS ld bc,(biosiz) ; size of CBIOS ldir ; restore it @@ -1865,7 +1866,7 @@ stack .equ $ ; stack top ; Messages ; indent .db " ",0 -msgban1 .db "ASSIGN v1.1 for RomWBW CP/M, 17-Nov-2019",0 +msgban1 .db "ASSIGN v1.1a for RomWBW CP/M, 24-Dec-2019",0 msghb .db " (HBIOS Mode)",0 msgub .db " (UBIOS Mode)",0 msgban2 .db "Copyright 2019, Wayne Warthen, GNU GPL v3",0 diff --git a/Source/Apps/FDU/FDU.asm b/Source/Apps/FDU/FDU.asm index 2fda22db..281901ec 100644 --- a/Source/Apps/FDU/FDU.asm +++ b/Source/Apps/FDU/FDU.asm @@ -44,6 +44,7 @@ ; 2018-09-05: v5.3 ADDED SUPPORT FOR SMALLZ80 ; - USE EOT=R TO END R/W AFTER ONE SECTOR INSTEAD ; OF USING PULSE TC +; 2020-01-05: V5.4 ADDED SUPPORT FOR DYNO FDC ; ;_______________________________________________________________________________ ; @@ -77,6 +78,7 @@ FDC_N8 .EQU 5 FDC_RCSMC .EQU 6 FDC_RCWDC .EQU 7 FDC_SMZ80 .EQU 8 +FDC_DYNO .EQU 9 ; ; FDC MODE ; @@ -211,8 +213,8 @@ INIT5: XOR A RET -STR_BANNER .DB "Floppy Disk Utility (FDU) v5.3, 28-Sep-2018$" -STR_BANNER2 .DB "Copyright (C) 2018, Wayne Warthen, GNU GPL v3","$" +STR_BANNER .DB "Floppy Disk Utility (FDU) v5.4, 05-jAN-2020$" +STR_BANNER2 .DB "Copyright (C) 2020, Wayne Warthen, GNU GPL v3","$" STR_HBIOS .DB " [HBIOS]$" STR_UBIOS .DB " [UBIOS]$" ; @@ -232,19 +234,18 @@ FDCSEL: CALL WRITESTR ; FDCSEL1: - CALL GETKEY - SUB '0' ; ASCII -> BINARY - CP FDCCNT + 1 ; TOO HIGH? - JR NC,FDCSEL1 ; IF SO, TRY AGAIN -; - OR A ; SET FLAGS - JR NZ,FDCSEL2 ; NOT ZERO, KEEP GOING - OR 0FFH ; SET NZ FOR EXIT REQUEST + CALL GETKEYUC + CP 'X' ; EXIT? + JR NZ,FDCSEL2 ; IF NOT, CONTINUE + OR 0FFH ; ELSE SET NZ FOR EXIT REQUEST RET ; AND RETURN -; +; FDCSEL2: + SUB 'A' ; ASCII -> BINARY + CP FDCCNT ; TOO HIGH? + JR NC,FDCSEL1 ; IF SO, TRY AGAIN +; ; SAVE SELECTED FDC IDENTIFIER - DEC A ; CONVERT TO ZERO-BASED FDC ID LD (FDCID),A ; RECORD THE FDC ID RLCA ; TIMES 4 RLCA ; ... FOR 4 BYTE ENTRIES @@ -282,6 +283,7 @@ FDCTBL: ; LABEL CONFIG DATA .DW STR_RCSMC, CFG_RCSMC .DW STR_RCWDC, CFG_RCWDC .DW STR_SMZ80, CFG_SMZ80 + .DW STR_DYNO, CFG_DYNO FDCCNT .EQU ($-FDCTBL)/4 ; FD CONTROLLER COUNT ; ; FDC LABEL STRINGS @@ -295,6 +297,7 @@ STR_N8 .TEXT "N8$" STR_RCSMC .TEXT "RC-SMC$" STR_RCWDC .TEXT "RC-WDC$" STR_SMZ80 .TEXT "SMZ80$" +STR_DYNO .TEXT "DYNO$" ; ; FDC CONFIGURATION BLOCKS ; @@ -405,6 +408,17 @@ CFG_SMZ80: .DB 0FFH ; PSEUDO DMA DATA PORT .DB _PCAT ; MODE= ; +CFG_DYNO: + .DB 084H ; FDC MAIN STATUS REGISTER + .DB 085H ; FDC DATA PORT + .DB 0FFH ; DATA INPUT REGISTER + .DB 086H ; DIGITAL OUTPUT REGISTER (LATCH) + .DB 087H ; DCR + .DB 0FFH ; DACK + .DB 086H ; TERMINAL COUNT (W/ DACK) + .DB 0FFH ; PSEUDO DMA DATA PORT + .DB _PCAT ; MODE= +; FDCID .DB 0 ; FDC IDENTIFIER (0 INDEXED) FDCBM .DB 0 ; FDC ID BITMAP FDCLBL .DW 0 ; POINTER TO ACTIVE FDC LABEL STRING @@ -413,16 +427,17 @@ FDCCFG .DW 0 ; POINTER TO ACTIVE CFG DATA FSS_MENU: .TEXT "\r\n" .TEXT "SELECT FLOPPY DISK CONTROLLER:\r\n" - .TEXT " (0) Exit\r\n" - .TEXT " (1) Disk IO ECB Board\r\n" - .TEXT " (2) Disk IO 3 ECB Board\r\n" - .TEXT " (3) Zeta SBC Onboard FDC\r\n" - .TEXT " (4) Zeta 2 SBC Onboard FDC\r\n" - .TEXT " (5) Dual IDE ECB Board\r\n" - .TEXT " (6) N8 Onboard FDC\r\n" - .TEXT " (7) RC2014 SMC (SMB)\r\n" - .TEXT " (8) RC2014 WDC (SMB)\r\n" - .TEXT " (9) SmallZ80 Expansion\r\n" + .TEXT " (A) Disk IO ECB Board\r\n" + .TEXT " (B) Disk IO 3 ECB Board\r\n" + .TEXT " (C) Zeta SBC Onboard FDC\r\n" + .TEXT " (D) Zeta 2 SBC Onboard FDC\r\n" + .TEXT " (E) Dual IDE ECB Board\r\n" + .TEXT " (F) N8 Onboard FDC\r\n" + .TEXT " (G) RC2014 SMC (SMB)\r\n" + .TEXT " (H) RC2014 WDC (SMB)\r\n" + .TEXT " (I) SmallZ80 Expansion\r\n" + .TEXT " (J) Dyno-Card FDC, D1030\r\n" + .TEXT " (X) Exit\r\n" .TEXT "=== OPTION ===> $\r\n" ; ;=============================================================================== @@ -1499,8 +1514,9 @@ MD_MAP: .DB %00000001 ; DIDE POLL .DB %00000001 ; N8 POLL .DB %00000001 ; RCSMC POLL -; .DB %00000001 ; RCWDC POLL + .DB %00000001 ; RCWDC POLL .DB %00000001 ; SMZ80 POLL + .DB %00000001 ; DYNO POLL ; ; MEDIA DESCRIPTION BLOCK ; @@ -1861,7 +1877,7 @@ FM_DRAW0B: ; ZETA, DIO3 LD A,(FST_DOR) AND 00000010B JR FM_DRAW1 -FM_DRAW0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80 +FM_DRAW0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO LD A,(FST_DOR) AND 11110000B JR FM_DRAW1 @@ -2014,7 +2030,7 @@ FM_MOTOR0B: ; ZETA, DIO3 LD A,(FST_DOR) AND 00000010B JR FM_MOTOR1 -FM_MOTOR0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80 +FM_MOTOR0C: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO LD A,(FST_DOR) AND 11110000B JR FM_MOTOR1 @@ -2753,7 +2769,7 @@ FC_INIT1: ; DIO FC_INIT2: ; ZETA, DIO3 LD A,(FCD_DORB) JR FC_INIT5 -FC_INIT3: ; DIDE, N8, ZETA2, RCWDC, SMZ80 +FC_INIT3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO LD A,(FCD_DORC) JR FC_INIT5 FC_INIT4: ; WDSMC @@ -2797,7 +2813,7 @@ FC_RESETFDC1: ; ZETA, DIO3, RCSMC POP AF OUT (C),A JR FC_RESETFDC3 -FC_RESETFDC2: ; DIDE, N8, ZETA2, RCWDC, SMZ80 +FC_RESETFDC2: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO LD A,0 OUT (C),A LD A,(FST_DOR) @@ -2824,7 +2840,7 @@ FC_PULSETC: ;RES 0,A ;OUT (C),A ;JR FC_PULSETC2 -;FC_PULSETC1: ; DIDE, N8, ZETA2, RCWDC, SMZ80 +;FC_PULSETC1: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO ;LD C,(IY+CFG_TC) ;IN A,(C) ;JR FC_PULSETC2 @@ -2856,7 +2872,7 @@ FC_MOTORON2: ; ZETA, DIO3 LD HL,FST_DOR ; POINT TO FDC_DOR SET 1,(HL) JR FC_MOTORON5 -FC_MOTORON3: ; DIDE, N8, ZETA2, RCWDC, SMZ80 +FC_MOTORON3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO LD HL,FST_DOR ; POINT TO FDC_DOR LD A,(HL) ; START WITH CURRENT DOR AND 11111100B ; GET RID OF ANY ACTIVE DS BITS @@ -2920,7 +2936,7 @@ FC_MOTOROFF2: ; ZETA, DIO3 LD HL,FST_DOR ; POINT TO FDC_DOR RES 1,(HL) JR FC_MOTOROFF5 -FC_MOTOROFF3: ; DIDE, N8, ZETA2, RCWDC, SMZ80 +FC_MOTOROFF3: ; DIDE, N8, ZETA2, RCWDC, SMZ80, DYNO LD HL,FST_DOR ; POINT TO FDC_DOR LD A,DORC_INIT LD (HL),A @@ -3786,7 +3802,7 @@ DORB_BR500 .EQU 10100000B ; 500KBPS ; DORB_INIT .EQU DORB_BR250 ; -; *** DIDE/N8/ZETA2/RCWDC/SMZ80 *** +; *** DIDE/N8/ZETA2/RCWDC/SMZ80/DYNO *** ; DORC_INIT .EQU 00001100B ; SOFT RESET INACTIVE, DMA ENABLED ; diff --git a/Source/Apps/FDU/FDU.txt b/Source/Apps/FDU/FDU.txt index b591b7c3..d67fe1fe 100644 --- a/Source/Apps/FDU/FDU.txt +++ b/Source/Apps/FDU/FDU.txt @@ -1,9 +1,9 @@ ================================================================ Floppy Disk Utility (FDU) v5.3 for RetroBrew Computers -Disk IO / Zeta / Dual-IDE / N8 / RC2014 / SmallZ80 +Disk IO / Zeta / Dual-IDE / N8 / RC2014 / SmallZ80 / Dyno ================================================================ -Updated September 5, 2018 +Updated January 5, 2020 by Wayne Warthen (wwarthen@gmail.com) Application to test the hardware functionality of the Floppy @@ -77,6 +77,7 @@ supported: - RC2014 w/ SMC - RC2014 w/ WDC - SmallZ80 + - Dyno You must be using either a RomWBW or UBA based OS version. @@ -95,7 +96,7 @@ Finally, you will need a floppy drive connected via an appropriate cable: Disk IO - no twist in cable, drive unit 0/1 must be selected by jumper on drive -DISK IO 3, Zeta, Zeta 2, RC2014 - cable with twist, unit 0 after twist, unit 1 before twist +DISK IO 3, Zeta, Zeta 2, RC2014, Dyno - cable with twist, unit 0 after twist, unit 1 before twist DIDE, N8, Mark IV, SmallZ80 - cable with twist, unit 0 before twist, unit 1 after twist Note that FDU does not utilize your systems ROM or OS to @@ -154,6 +155,9 @@ JP2 (TC): 2-3. SmallZ80 does not have any relevant jumper settings. The hardwired I/O ranges are assumed in the code. +Dyno does not have any relevant jumper settings. The +hardwired I/O ranges are assumed in the code. + Modes of Operation ------------------ @@ -505,3 +509,6 @@ WW 9/5/2018: v5.3 condition is no longer considered an error, but a successful end of operation. - Added support for SmallZ80 + +WW 5/1/2020: v5.4 + - Added support for Dyno (based on work by Steve Garcia) diff --git a/Source/CBIOS/ver.inc b/Source/CBIOS/ver.inc index c5fc93ef..ed96d795 100644 --- a/Source/CBIOS/ver.inc +++ b/Source/CBIOS/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 9 #DEFINE RUP 2 #DEFINE RTP 0 -#DEFINE BIOSVER "2.9.2-pre.22" +#DEFINE BIOSVER "2.9.2-pre.25" diff --git a/Source/CPM3/@banks.txt b/Source/CPM3/@banks.txt deleted file mode 100644 index 7fb0d406..00000000 --- a/Source/CPM3/@banks.txt +++ /dev/null @@ -1,28 +0,0 @@ -COMMON 8F ?? -CPMSYS 8E 00 -HBIOS 8D ?? -TPA 8C 01 -BUFS 8B 02 - -8D:7000 -> 8E:0300 - - -00 -> 8E -01 -> 8C -02 -> 8B -03 -> 8A -... - -if bnk = 0, then hbbnk = 8EH (BID_USR) -else hbbnk = 8DH (BID_BIOS) - bnk - - or a - jr z,bank0 - neg ; 2 -> -2 - add 8DH ; 8D - 2 = 8B - jp HBX_SETBNK -bank0: - ld a,(8EH) - jp HBX_SETBNK - ret - diff --git a/Source/CPM3/Build.cmd b/Source/CPM3/Build.cmd index efacbb00..5008a0ca 100644 --- a/Source/CPM3/Build.cmd +++ b/Source/CPM3/Build.cmd @@ -24,7 +24,7 @@ rem pause rem Resident CPM3 echo. echo. -echo *** Resident BIOS *** +echo *** Resident CPM3 BIOS *** echo. copy optres.lib options.lib copy genres.dat gencpm.dat @@ -43,7 +43,7 @@ rem pause rem Banked CPM3 echo. echo. -echo *** Banked BIOS *** +echo *** Banked CPM3 BIOS *** echo. copy optbnk.lib options.lib copy genbnk.dat gencpm.dat @@ -59,6 +59,25 @@ zx GENCPM -AUTO -DISPLAY copy cpm3.sys cpm3bnk.sys rem pause +rem Banked ZPM3 +echo. +echo. +echo *** Banked ZPM3 BIOS *** +echo. +copy optzpm.lib options.lib +copy genbnk.dat gencpm.dat +zx RMAC -BIOSKRNL +zx RMAC -SCB +zx Z80ASM -BOOT/MF +zx Z80ASM -CHARIO/MF +zx Z80ASM -MOVE/MF +zx Z80ASM -DRVTBL/MF +zx Z80ASM -DISKIO/MF +zx LINK -ZPMBIOS3[B]=BIOSKRNL,SCB,BOOT,CHARIO,MOVE,DRVTBL,DISKIO +rem zx GENCPM -AUTO -DISPLAY +rem copy cpm3.sys zpm3.sys +rem pause + rem *** Resident *** rem copy cpm3res.sys cpm3.sys rem copy genres.dat getcpm.dat diff --git a/Source/CPM3/Clean.cmd b/Source/CPM3/Clean.cmd index d308082d..02fa2692 100644 --- a/Source/CPM3/Clean.cmd +++ b/Source/CPM3/Clean.cmd @@ -3,6 +3,7 @@ setlocal if exist bios3.spr del bios3.spr if exist bnkbios3.spr del bnkbios3.spr +if exist zpmbios3.spr del zpmbios3.spr if exist *.rel del *.rel if exist cpmldr.com del cpmldr.com if exist *.err del *.err diff --git a/Source/CPM3/biosldr.z80 b/Source/CPM3/biosldr.z80 index 3b7e0751..754dc299 100644 --- a/Source/CPM3/biosldr.z80 +++ b/Source/CPM3/biosldr.z80 @@ -64,13 +64,15 @@ boot1: call writestr call cin - call cout - + push af + call cout ld de,crlf call writestr pop af + ld sp,(stksav) + sub '0' jr c,boot1 cp 10 ; !!! Need to test against max disk unit num !!! @@ -118,9 +120,6 @@ dsk$login1: inc hl ld (hl),d ; udpate MSB - - - ld sp,(stksav) ret wboot: @@ -253,41 +252,19 @@ xmove: halt cin: - ; save incoming registers (af is output) - push bc - push de - push hl - ; input character from console via hbios ld c,0D0H ; console unit to c ld b,00H ; hbios func: input char call 0FFF0H ; hbios reads character ld a,e ; move character to a for return - - ; restore registers (af is output) - pop hl - pop de - pop bc ret cout: - ; save all incoming registers - push af - push bc - push de - push hl - ; output character to console via hbios ld e,a ; output char to e ld c,0D0H ; console unit to c ld b,01H ; hbios func: output char call 0FFF0H ; hbios outputs character - - ; restore all registers - pop hl - pop de - pop bc - pop af ret writestr: @@ -296,7 +273,9 @@ writestr1: ld a,(de) cp '$' ; test for string terminator jp z,writestr2 + push de call cout + pop de inc de jp writestr1 writestr2: @@ -473,7 +452,7 @@ alvbuf ds 512 ; length (ALV) = ((DSM+1)/4) dirbuf ds 512 ; sector buffer dtabuf ds 512 ; sector buffer - ds 32 + ds 64 stack equ $ stksav dw 0 diff --git a/Source/CPM3/boot.z80 b/Source/CPM3/boot.z80 index 845325f1..d0b5cb0f 100644 --- a/Source/CPM3/boot.z80 +++ b/Source/CPM3/boot.z80 @@ -12,6 +12,7 @@ extrn dph0 extrn @dtbl,@ctbl extrn @date,@hour,@min,@sec + extrn @srch1 include ver.inc @@ -37,7 +38,7 @@ tpa$bank equ 0 if banked ; Clone page zero from bank 0 to additional banks - ld b,2 ; last bank + ld b,3 ; last bank ld c,0 ; src bank init$2: push bc ; save bank id's @@ -110,7 +111,6 @@ cinit$3: ld (hl),0 ; Set table terminator dinit: - ; loop through all disk devices to count hard disk units ld b,0F8h ; SYS GET ld c,010h ; Disk Drive Unit Count @@ -119,12 +119,12 @@ dinit: ld a,b ; count to a or a ; set flags ret z ; !!! handle zero devices (albeit poorly) !!! -; + ; loop thru devices to count total hard disk volumes push bc ; save the device count ld c,0 ; use c as device list index ld e,0 ; init e for hard disk volume count -; + dinit2: push bc ; save loop control call dinit3 ; check drive @@ -133,7 +133,7 @@ dinit2: djnz dinit2 ; loop pop bc ; restore unit count in b jr dinit4 ; continue -; + dinit3: push de ; save de (hard disk volume counter) ld b,017h ; hbios func: report device info @@ -144,7 +144,7 @@ dinit3: ret c ; nope, return inc e ; increment hard disk count ret ; and return -; + dinit4: ; set slices per volume (hdspv) based on hard disk volume count ld a,e ; hard disk volume count to a ld e,8 ; assume 8 slices per volume @@ -154,20 +154,19 @@ dinit4: ; set slices per volume (hdspv) based on hard disk volume count dec a ; dec accum to check for count = 2 jr z,dinit5 ; yes, skip ahead to implement 4 hdspv ld e,2 ; in all other cases, we use 2 hdspv -; + dinit5: ld a,e ; slices per volume value to accum ld (hdspv),a ; save it -; + ; setup to enumerate devices to build drvmap ld b,0F8h ; SYS GET ld c,010h ; Disk Drive Unit Count rst 08 ; e := disk unit count ld b,e ; count to b ld c,0 ; use c as device list index - ;ld hl,dph0 ; point to first dph ld hl,0 ; dph index -; + dinit6: ; loop thru all units available push bc ; preserve loop control push hl ; preserve dph pointer @@ -197,9 +196,8 @@ dinit6a: ld (hl),a ; zero msb inc hl ; next byte djnz dinit6a - ret ; finished -; + dinit7: ; process unit ld e,0 ; initialize slice index ld b,1 ; default loop counter @@ -209,7 +207,7 @@ dinit7: ; process unit jr c,dinit8 ; nope, leave loop count at 1 ld a,(hdspv) ; get slices per volume to accum ld b,a ; move to b for loop counter -; + dinit8: ; d=unit, e=slice, l=dph# ld a,l ; dph # to accum @@ -233,12 +231,17 @@ dinit8: djnz dinit8 ; loop till done with unit ret -addhla: - add a,l - ld l,a - ret nc - inc h - ret +; RomWBW CBIOS page zero stamp starts at $40 +; $40-$41: Marker ('W', ~'W') +; $42-$43: Version bytes: major/minor, update/patch +; $44-$45: CBIOS Extension Info address + +stploc equ 40h +stpimg db 'W',~'W' ; marker + db rmj << 4 | rmn ; first byte of version info + db rup << 4 | rtp ; second byte of version info + dw cbx ; address of cbios ext data +stpsiz equ $ - stpimg cseg ; boot loading most be done from resident memory @@ -246,8 +249,34 @@ addhla: ; called CCP.COM on the system drive. ?ldccp: + + if zpm + + ; Swap A: and system drive (make A: the system drive) + ld bc,(@dtbl) ; get drive A DPH + ld hl,@dtbl ; point to boot drive DPH + ld a,(@sysdr) + rlca + call addhla + ld e,(hl) ; set boot drive to drive A DPH + ld (hl),c ; ... and save boot drive DPH + inc hl + ld d,(hl) + ld (hl),b + ld (@dtbl),de ; set drive a DPH to boot drive + + xor a ; update @sysdr + ld (@sysdr),a + + endif + + ; Force CCP to use system boot drive as initial default + ld a,(@sysdr) ; get system boot drive + ld (@ccpdr),a ; set CCP current drive + ; First time, load the CCP.COM file into TPA ld a,(@sysdr) ; get system boot drive + ;ld (4),a ; save in page zero??? inc a ; drive + 1 for FCB ld (ccp$fcb),a ; stuff into FCB add 'A' - 1 ; drive letter @@ -308,9 +337,13 @@ ld$1: endif - ; Force CCP to use system boot drive as initial default - ld a,(@sysdr) ; get system boot drive - ld (@ccpdr),a ; set CCP current drive + ;; Set first search path to system boot drive + ;inc a + ;ld (@srch1),a + + ;ld e,a + ;ld c,14 + ;call bdos ret @@ -359,14 +392,29 @@ rl$1: jr ?ldccp endif - + ?time: - + ; per CP/M 3 docs, *must* preserve HL, DE + push hl + push de + + ; force return through time$ret + ld hl,time$ret + push hl + ; branch to get or set routine ld a,c ; get switch value or a ; test for zero - jr nz,time$set ; 0 means get time, else set time + jr z,time$get ; 0 means get time + jr time$set ; else set time +time$ret: + ; restore HL, DE + pop de + pop hl + ret + +time$get: ; RTC -> cpm date/time in SCB ; read time from RTC @@ -497,6 +545,38 @@ daystbl: dw 304 ; November dw 334 ; December + ; RTC time buffer (all values packed bcd) +tim$buf: +tim$yr db 80h +tim$mon db 05h +tim$day db 10h +tim$hr db 01h +tim$min db 02h +tim$sec db 03h + +open: + ld c,15 + jp bdos + +setdma: + ld c,26 + jp bdos + +setmulti: + ld c,44 + jp bdos + +read: + ld c,20 + jp bdos + +addhla: + add a,l + ld l,a + ret nc + inc h + ret + bcd2bin: ; convert A from packed bcd to binary push bc @@ -534,21 +614,26 @@ bin2bcd1: pop bc ret -open: - ld c,15 - jp bdos + if zpm -setdma: - ld c,26 - jp bdos +signon$msg db 13,10,'ZPM3' + if banked + db ' [BANKED]' + endif + db ' on HBIOS v' + biosver + db 13,10,13,10,0 + +ccp$msg db 13,10,'BIOS Err on ' +ccp$msg$drv db '?' + db ': No ZCCP.COM file',0 -setmulti: - ld c,44 - jp bdos -read: - ld c,20 - jp bdos +ccp$fcb db 0,'ZCCP ','COM',0,0,0,0 + ds 16 +fcb$nr db 0,0,0 + + else signon$msg db 13,10,'CP/M v3.0' if banked @@ -557,7 +642,7 @@ signon$msg db 13,10,'CP/M v3.0' db ' on HBIOS v' biosver db 13,10,13,10,0 - + ccp$msg db 13,10,'BIOS Err on ' ccp$msg$drv db '?' db ': No CCP.COM file',0 @@ -567,30 +652,11 @@ ccp$fcb db 0,'CCP ','COM',0,0,0,0 ds 16 fcb$nr db 0,0,0 + endif + @bootdu db 0 hdspv db 2 ; slices per volume for hard disks (must be >= 1) - ; RTC time buffer (all values packed bcd) -tim$buf: -tim$yr db 0 -tim$mon db 0 -tim$day db 0 -tim$hr db 0 -tim$min db 0 -tim$sec db 0 - -; RomWBW CBIOS page zero stamp starts at $40 -; $40-$41: Marker ('W', ~'W') -; $42-$43: Version bytes: major/minor, update/patch -; $44-$45: CBIOS Extension Info address - -stploc equ 40h -stpimg db 'W',~'W' ; marker - db rmj << 4 | rmn ; first byte of version info - db rup << 4 | rtp ; second byte of version info - dw cbx ; address of cbios ext data -stpsiz equ $ - stpimg - ; The following section contains key information and addresses for the ; RomWBW CBIOS. A pointer to the start of this section is stored with ; with the CBX data in page zero at $44 (see above). diff --git a/Source/CPM3/genbnk.dat b/Source/CPM3/genbnk.dat index 1e9f59df..4a542bd3 100644 --- a/Source/CPM3/genbnk.dat +++ b/Source/CPM3/genbnk.dat @@ -3,12 +3,12 @@ PAGWID = 4F PAGLEN = 17 BACKSPC = N RUBOUT = N -BOOTDRV = C +BOOTDRV = A MEMTOP = FD BNKSWT = Y COMBAS = 80 LERROR = Y -NUMSEGS = 02 +NUMSEGS = 03 MEMSEG00 = 01,43,00 MEMSEG01 = 0E,72,02 MEMSEG02 = 01,7F,03 diff --git a/Source/CPM3/genres.dat b/Source/CPM3/genres.dat index 3622d946..d1e1103d 100644 --- a/Source/CPM3/genres.dat +++ b/Source/CPM3/genres.dat @@ -3,7 +3,7 @@ PAGWID = 4F PAGLEN = 17 BACKSPC = N RUBOUT = N -BOOTDRV = C +BOOTDRV = A MEMTOP = FD BNKSWT = N COMBAS = 00 diff --git a/Source/CPM3/optbnk.lib b/Source/CPM3/optbnk.lib index a5bf221d..93dbb3c3 100644 --- a/Source/CPM3/optbnk.lib +++ b/Source/CPM3/optbnk.lib @@ -4,3 +4,5 @@ true equ -1 false equ not true banked equ true + +zpm equ false diff --git a/Source/CPM3/optres.lib b/Source/CPM3/optres.lib index 5b94dab5..1c08bd24 100644 --- a/Source/CPM3/optres.lib +++ b/Source/CPM3/optres.lib @@ -4,3 +4,5 @@ true equ -1 false equ not true banked equ false + +zpm equ false diff --git a/Source/CPM3/optzpm.lib b/Source/CPM3/optzpm.lib new file mode 100644 index 00000000..eba22e9b --- /dev/null +++ b/Source/CPM3/optzpm.lib @@ -0,0 +1,9 @@ + ; global assembler options for BANKED BIOS + ; with Boot Drive swapped into Drive A + +true equ -1 +false equ not true + +banked equ true + +zpm equ true diff --git a/Source/CPM3/scb.asm b/Source/CPM3/scb.asm index 814deef6..d2fdd427 100644 --- a/Source/CPM3/scb.asm +++ b/Source/CPM3/scb.asm @@ -5,6 +5,7 @@ public @mltio, @ermde, @erdsk, @media, @bflgs public @date, @hour, @min, @sec, ?erjmp, @mxtpa public @ccpdr + public @srch1, @srch2, @srch3, @srch4 scb$base equ 0FE00H ; Base of the SCB @@ -34,6 +35,10 @@ scb$base equ 0FE00H ; Base of the SCB @MLTIO equ scb$base+4Ah ; Current Multi-Sector Count ; (byte,r/w) @ERMDE equ scb$base+4Bh ; BDOS Error Mode (byte, r/o) +@SRCH1 equ scb$base+4Ch ; BDOS Drive Search Chain 1 +@SRCH2 equ scb$base+4Dh ; BDOS Drive Search Chain 2 +@SRCH3 equ scb$base+4Eh ; BDOS Drive Search Chain 3 +@SRCH4 equ scb$base+4Fh ; BDOS Drive Search Chain 4 @ERDSK equ scb$base+51h ; BDOS Error Disk (byte,r/o) @MEDIA equ scb$base+54h ; Set by BIOS to indicate ; open door (byte,r/w) diff --git a/Source/CPM3/ver.inc b/Source/CPM3/ver.inc index 379d1cd7..6fea63ae 100644 --- a/Source/CPM3/ver.inc +++ b/Source/CPM3/ver.inc @@ -3,5 +3,5 @@ rmn equ 9 rup equ 2 rtp equ 0 biosver macro - db "2.9.2-pre.21" + db "2.9.2-pre.25" endm diff --git a/Source/Doc/Hard Disk Anatomy.vsd b/Source/Doc/Hard Disk Anatomy.vsd new file mode 100644 index 00000000..680e16e3 Binary files /dev/null and b/Source/Doc/Hard Disk Anatomy.vsd differ diff --git a/Source/HBIOS/Build.ps1 b/Source/HBIOS/Build.ps1 index aa74ef1a..6f379321 100644 --- a/Source/HBIOS/Build.ps1 +++ b/Source/HBIOS/Build.ps1 @@ -20,7 +20,7 @@ param([string]$Platform = "", [string]$Config = "", [string]$RomSize = "512", [s # UNA BIOS is simply imbedded, it is not built here. # $PlatformListZ80 = "SBC", "ZETA", "ZETA2", "RCZ80", "EZZ80", "UNA" -$PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180" +$PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180", "DYNO" # # Establish the build platform. It may have been passed in on the command line. Validate diff --git a/Source/HBIOS/Config/DYNO_std.asm b/Source/HBIOS/Config/DYNO_std.asm new file mode 100644 index 00000000..f5019f0e --- /dev/null +++ b/Source/HBIOS/Config/DYNO_std.asm @@ -0,0 +1,39 @@ +; +;================================================================================================== +; DYNO STANDARD CONFIGURATION +;================================================================================================== +; +; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE +; CFG_.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS +; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE +; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS. +; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE _XXX.ASM AND SPECIFY +; YOUR FILE IN THE BUILD PROCESS. +; +; THE SETTINGS BELOW ARE THE SETTINGS THAT ARE MOST COMMONLY MODIFIED FOR THIS PLATFORM. +; MANY OF THEM ARE EQUAL TO THE SETTINGS IN THE INCLUDED FILE, SO THEY DON'T REALLY DO +; ANYTHING AS IS. THEY ARE LISTED HERE TO MAKE IT EASY FOR YOU TO ADJUST THE MOST COMMON +; SETTINGS. +; +; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE, +; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING +; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS! +; +; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO +; DIRECTORIES ABOVE THIS ONE). +; +#include "cfg_dyno.asm" +; +CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ +; +Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 +Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3) +Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) +; +ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +;ASCI0CFG .SET SER_115200_8N1 ; ASCI 0: SERIAL LINE CONFIG +;ASCI1CFG .SET SER_115200_8N1 ; ASCI 1: SERIAL LINE CONFIG +; +FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +; +PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) diff --git a/Source/HBIOS/bqrtc.asm b/Source/HBIOS/bqrtc.asm new file mode 100644 index 00000000..4264ebb9 --- /dev/null +++ b/Source/HBIOS/bqrtc.asm @@ -0,0 +1,370 @@ + +;================================================================================================== +; Benchmark BQ4845P RTC Driver +;================================================================================================== + + +; Register Addresses (HEX / BCD): + +; +---+-----+--------------+-------------------+------------------+----------------+ +; |ADR| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | RANGE | REGISTER | +; +---+-----+--------------+-------------------+------------------+----------------+ +; | 0 | 0 | 10-Second | 1-Second | 00-59 | Seconds | +; +---+-----+----+---------+-------------------+------------------+----------------+ +; | | ALM1|ALM2| | | | | +; | 1 | | 10-Second | 1-Second | 00-59 | Seconds Alarm | +; +---+-----+--------------+-------------------+------------------+----------------+ +; | 2 | 0 | 10-Minute | 1-Minute | 00-59 | Minutes | +; +---+-----+----+---------+-------------------+------------------+----------------+ +; | | ALM1|ARM0| | | | | +; | 3 | | 10-Minute | 1-Minute | 00-59 | Minutes Alarm | +; +---+-----+----+---------+-------------------+------------------+----------------+ +; | 4 |PM/AM| 0 | 10-Hour | 1-Hour |01-12 AM/81-92 PM | Hours | +; +---+-----+----+----+----+-------------------+------------------+----------------+ +; | | ALM1| | | | | | +; | 5 |PM/AM|ALM0| 10-Hour | 1-Hour |01-12 AM/81-92 PM | Hours Alarm | +; +---+-----+----+----+----+-------------------+------------------+----------------+ +; | 6 | 0 | 0 | 10-Day | 1-Day | 01-31 | Day | +; +---+-----+----+----+----+-------------------+------------------+----------------+ +; | 7 | ALM1|ALM0| 10-day | 1-Day | 01-31 | Day Alarm | +; +---+-----+----+----+----+----+--------------+------------------+----------------+ +; | 8 | 0 | 0 | 0 | 0 | 0 | Day Of Week | 01-07 | Day Of Week | +; +---+-----+----+----+----+----+--------------+------------------+----------------+ +; | 9 | 0 | 0 | 0 |10Mo| 1-Month | 01-12 | Month | +; +---+-----+----+----+----+-------------------+------------------+----------------+ +; | A | 10-Year | 1-Year | 00-99 | Year | +; +---+-----+----+----+----+----+----+----+----+------------------+----------------+ +; | B | * | WD2| WD1| WD0| RS3| RS2| RS1| RS0| | Rates | +; +---+-----+----+----+----+----+----+----+----+------------------+----------------+ +; | C | * | * | * | * | AIE| PIE|PWRE| ABE| | Interrupt | +; +---+-----+----+----+----+----+----+----+----+------------------+----------------+ +; | D | * | * | * | * | AF | PF |PWRF| BVF| | Flags | +; +---+-----+----+----+----+----+----+----+----+------------------+----------------+ +; | E | * | * | * | * | UTI|STOP|2412| DSE| | Control | +; +---+-----+----+----+----+----+----+----+----+------------------+----------------+ +; | F | * | * | * | * | * | * | * | * | | Unused | +; +---+-----+----+----+----+----+----+----+----+------------------+----------------+ + +; * = Unused bits; unwritable and read as 0. +; 0 = should be set to 0 for valid time/calendar range. +; Clock calendar data is BCD. Automatic leap year adjustment. +; PM/AM = 1 for PM; PM/AM = 0 for AM. +; DSE = 1 enable daylight savings adjustment. +; 24/12 = 1 enable 24-hour data representation; 24/12 = 0 enables 12-hour data representation. +; Day-Of-Week coded as Sunday = 1 through Saturday = 7. +; BVF = 1 for valid battery. +; STOP = 1 turns the RTC on; STOP = 0 stops the RTC in back-up mode. + +; Constants + +BQRTC_SEC .EQU BQRTC_BASE + $00 +BQRTC_SEC_ALM .EQU BQRTC_BASE + $01 +BQRTC_MIN .EQU BQRTC_BASE + $02 +BQRTC_MIN_ALM .EQU BQRTC_BASE + $03 +BQRTC_HOUR .EQU BQRTC_BASE + $04 +BQRTC_HOUR_ALM .EQU BQRTC_BASE + $05 +BQRTC_DAY .EQU BQRTC_BASE + $06 +BQRTC_DAY_ALM .EQU BQRTC_BASE + $07 +BQRTC_WEEK_DAY .EQU BQRTC_BASE + $08 +BQRTC_MONTH .EQU BQRTC_BASE + $09 +BQRTC_YEAR .EQU BQRTC_BASE + $0A +BQRTC_RATE .EQU BQRTC_BASE + $0B +BQRTC_INTERRUPT .EQU BQRTC_BASE + $0C +BQRTC_FLAGS .EQU BQRTC_BASE + $0D +BQRTC_CONTROL .EQU BQRTC_BASE + $0E +BQRTC_UNUSED .EQU BQRTC_BASE + $0F + +BQRTC_HIGH .EQU %11110000 +BQRTC_LOW .EQU %00001111 +BQRTC_WD .EQU %01110000 +BQRTC_RS .EQU %00001111 + +BQRTC_BVF .EQU %00000001 +BQRTC_PWRF .EQU %00000010 +BQRTC_PF .EQU %00000100 +BQRTC_AF .EQU %00001000 + +BQRTC_DSE .EQU %00000001 +BQRTC_2412 .EQU %00000010 +BQRTC_STOP .EQU %00000100 +BQRTC_UTI .EQU %00001000 + +BQRTC_BUFSIZE .EQU 6 ; 6 BYTE BUFFER (YYMMDDHHMMSS) + +; RTC Device Initialization Entry + +BQRTC_INIT: + CALL NEWLINE ; Formatting + PRTS("BQRTC: IO=0x$") + LD A, BQRTC_BASE + CALL PRTHEXBYTE + + LD A, BQRTC_DSE | BQRTC_2412 | BQRTC_UTI + OUT0 (BQRTC_CONTROL), A ; Enable Daylight Savings and 24 Hour + + XOR A ; Zero A + OUT0 (BQRTC_RATE), A ; Disable Periodic Interrupt Rate + OUT0 (BQRTC_INTERRUPT), A ; Disable Interrupts + + CALL BQRTC_LOAD + ; DISPLAY CURRENT TIME + PRTS(" $") + LD A, (BQRTC_BUF_MON) + CALL PRTHEXBYTE + PRTS("/$") + LD A, (BQRTC_BUF_DAY) + CALL PRTHEXBYTE + PRTS("/$") + LD A, (BQRTC_BUF_YEAR) + CALL PRTHEXBYTE + PRTS(" $") + LD A, (BQRTC_BUF_HOUR) + CALL PRTHEXBYTE + PRTS(":$") + LD A, (BQRTC_BUF_MIN) + CALL PRTHEXBYTE + PRTS(":$") + LD A, (BQRTC_BUF_SEC) + CALL PRTHEXBYTE + + XOR A ; Signal success + RET + +; RTC Device Function Dispatch Entry +; A: Result (OUT), 0=OK, Z=OK, NZ=Error +; B: Function (IN) + +BQRTC_DISPATCH: + LD A, B ; Get requested function + AND $0F ; Isolate Sub-Function + JP Z, BQRTC_GETTIM ; Get Time + DEC A + JP Z, BQRTC_SETTIM ; Set Time + DEC A + JP Z, BQRTC_GETBYT ; Get NVRAM Byte Value + DEC A + JP Z, BQRTC_SETBYT ; Set NVRAM Byte Value + DEC A + JP Z, BQRTC_GETBLK ; Get NVRAM Data Block Value + DEC A + JP Z, BQRTC_SETBLK ; Set NVRAM Data Block Value + DEC A + JP Z, BQRTC_GETALM ; Get Alarm + DEC A + JP Z, BQRTC_SETALM ; Set Alarm +; +; NVRAM FUNCTIONS ARE NOT AVAILABLE +; +BQRTC_GETBYT: +BQRTC_SETBYT: +BQRTC_GETBLK: +BQRTC_SETBLK: + CALL PANIC + +; RTC Get Time +; A: Result (OUT), 0=OK, Z=OK, NZ=Error +; HL: Date/Time Buffer (OUT) +; Buffer format is BCD: YYMMDDHHMMSS +; 24 hour time format is assumed +; +BQRTC_GETTIM: + EX DE, HL + CALL BQRTC_LOAD + ; Now copy to read destination (Interbank Save) + LD A, BID_BIOS ; Copy from BIOS bank + LD (HB_SRCBNK), A ; Set it + LD A, (HB_INVBNK) ; Copy to current user bank + LD (HB_DSTBNK), A ; Set it + LD BC, BQRTC_BUFSIZE ; Length is 6 bytes +#IF (INTMODE == 1) + DI +#ENDIF + CALL HB_BNKCPY ; Copy the clock data +#IF (INTMODE == 1) + EI +#ENDIF +; + ; CLEAN UP AND RETURN + XOR A ; SIGNAL SUCCESS + RET ; AND RETURN +; +; RTC Set Time +; A: Result (OUT), 0=OK, Z=OK, NZ=Error +; HL: Date/Time Buffer (IN) +; Buffer Format is BCD: YYMMDDHHMMSS +; 24 hour time format is assumed +; +BQRTC_SETTIM: +; + ; Copy incoming time data to our time buffer + LD A, (HB_INVBNK) ; Copy from current user bank + LD (HB_SRCBNK), A ; Set it + LD A, BID_BIOS ; Copy to BIOS bank + LD (HB_DSTBNK), A ; Set it + LD DE, BQRTC_BUF ; Destination Address + LD BC, BQRTC_BUFSIZE ; Length is 6 bytes +#IF (INTMODE == 1) + DI +#ENDIF + CALL HB_BNKCPY ; Copy the clock data +#IF (INTMODE == 1) + EI +#ENDIF + ; Write to clock + LD HL, BQRTC_BUF + CALL BQRTC_SUSPEND + LD A, (HL) + OUT0 (BQRTC_YEAR), A ; Write Year + INC HL + LD A, (HL) + OUT0 (BQRTC_MONTH), A ; Write Month + INC HL + LD A, (HL) + OUT0 (BQRTC_DAY), A ; Write Day + INC HL + LD A, (HL) + OUT0 (BQRTC_HOUR), A ; Write Hour + INC HL + LD A, (HL) + OUT0 (BQRTC_MIN), A ; Write Minute + INC HL + LD A, (HL) + OUT0 (BQRTC_SEC), A ; Write Second + CALL BQRTC_RESUME + ; clean up and return + XOR A ; Signal success + RET ; And return + +; RTC Get Alarm +; A: Result (OUT), 0=OK, Z=OK, NZ=Error +; HL: Date/Time Buffer (OUT) +; Buffer format is BCD: YYMMDDHHMMSS +; 24 hour time format is assumed +; +BQRTC_GETALM: + EX DE, HL + LD HL, BQRTC_BUF + PUSH HL ; Save address of source buffer + CALL BQRTC_SUSPEND + XOR A + LD (HL), A ; Read Year + INC HL + LD (HL), A ; Read Month + INC HL + IN0 A, (BQRTC_DAY_ALM) ; Read Day + LD (HL), A + INC HL + IN0 A, (BQRTC_HOUR_ALM) ; Read Hour + LD (HL), A + INC HL + IN0 A, (BQRTC_MIN_ALM) ; Read Minute + LD (HL), A + INC HL + IN0 A, (BQRTC_SEC_ALM) ; Read Second + LD (HL), A + CALL BQRTC_RESUME + POP HL ; Restore address of source buffer + ; Now copy to read destination (Interbank Save) + LD A, BID_BIOS ; Copy from BIOS bank + LD (HB_SRCBNK), A ; Set it + LD A, (HB_INVBNK) ; Copy to current user bank + LD (HB_DSTBNK), A ; Set it + LD BC, BQRTC_BUFSIZE ; Length is 6 bytes +#IF (INTMODE == 1) + DI +#ENDIF + CALL HB_BNKCPY ; Copy the clock data +#IF (INTMODE == 1) + EI +#ENDIF +; + ; CLEAN UP AND RETURN + XOR A ; SIGNAL SUCCESS + RET ; AND RETURN +; +; RTC Set Alarm +; A: Result (OUT), 0=OK, Z=OK, NZ=Error +; HL: Date/Time Buffer (IN) +; Buffer Format is BCD: YYMMDDHHMMSS +; 24 hour time format is assumed +; +BQRTC_SETALM: + ; Copy incoming time data to our time buffer + LD A, (HB_INVBNK) ; Copy from current user bank + LD (HB_SRCBNK), A ; Set it + LD A, BID_BIOS ; Copy to BIOS bank + LD (HB_DSTBNK), A ; Set it + LD DE, BQRTC_BUF ; Destination Address + LD BC, BQRTC_BUFSIZE ; Length is 6 bytes +#IF (INTMODE == 1) + DI +#ENDIF + CALL HB_BNKCPY ; Copy the clock data +#IF (INTMODE == 1) + EI +#ENDIF + ; Write to clock + LD HL, BQRTC_BUF_DAY + CALL BQRTC_SUSPEND + LD A, (HL) + OUT0 (BQRTC_DAY_ALM), A ; Write Day + INC HL + LD A, (HL) + OUT0 (BQRTC_HOUR_ALM), A ; Write Hour + INC HL + LD A, (HL) + OUT0 (BQRTC_MIN_ALM), A ; Write Minute + INC HL + LD A, (HL) + OUT0 (BQRTC_SEC_ALM), A ; Write Second + CALL BQRTC_RESUME + ; clean up and return + XOR A ; Signal success + RET ; And return + +BQRTC_SUSPEND: + IN0 A, (BQRTC_CONTROL) ; Suspend Clock + OR BQRTC_UTI + OUT0 (BQRTC_CONTROL), A + RET + +BQRTC_RESUME: + IN0 A, (BQRTC_CONTROL) ; Resume Clock + AND ~BQRTC_UTI + OUT0 (BQRTC_CONTROL), A + RET + +BQRTC_LOAD: + LD HL, BQRTC_BUF + PUSH HL ; Save address of source buffer + CALL BQRTC_SUSPEND + IN0 A, (BQRTC_YEAR) ; Read Year + LD (HL), A + INC HL + IN0 A, (BQRTC_MONTH) ; Read Month + LD (HL), A + INC HL + IN0 A, (BQRTC_DAY) ; Read Day + LD (HL), A + INC HL + IN0 A, (BQRTC_HOUR) ; Read Hour + LD (HL), A + INC HL + IN0 A, (BQRTC_MIN) ; Read Minute + LD (HL), A + INC HL + IN0 A, (BQRTC_SEC) ; Read Second + LD (HL), A + CALL BQRTC_RESUME + POP HL ; Restore address of source buffer + RET + +; Working Variables + +BQRTC_BUF: +BQRTC_BUF_YEAR: .DB 0 ; Year +BQRTC_BUF_MON: .DB 0 ; Month +BQRTC_BUF_DAY: .DB 0 ; Day +BQRTC_BUF_HOUR: .DB 0 ; Hour +BQRTC_BUF_MIN: .DB 0 ; Minute +BQRTC_BUF_SEC: .DB 0 ; Second diff --git a/Source/HBIOS/cfg_dyno.asm b/Source/HBIOS/cfg_dyno.asm new file mode 100644 index 00000000..6e034243 --- /dev/null +++ b/Source/HBIOS/cfg_dyno.asm @@ -0,0 +1,133 @@ +; +;================================================================================================== +; ROMWBW 2.X CONFIGURATION DEFAULTS FOR RC2014 +;================================================================================================== +; +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. +; +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. +; +#DEFINE PLATFORM_NAME "DYNO" +; +PLATFORM .EQU PLT_DYNO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] +CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180] +BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] +BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +RAMBIAS .EQU 512 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE +MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY) +MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY) +MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY) +MPGSEL_3 .EQU $7B ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY) +MPGENA .EQU $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY) +; +Z180_BASE .EQU $C0 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS +Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 +Z180_MEMWAIT .EQU 0 ; Z180: MEMORY WAIT STATES (0-3) +Z180_IOWAIT .EQU 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) +; +RTCIO .EQU $0C ; RTC LATCH REGISTER ADR +; +KIOENABLE .EQU FALSE ; ENABLE ZILOG KIO SUPPORT +KIOBASE .EQU $80 ; KIO BASE I/O ADDRESS +; +CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT +; +DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS +DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +; +LEDENABLE .EQU FALSE ; ENABLES STATUS LED (SINGLE LED) +LEDPORT .EQU $0E ; STATUS LED PORT ADDRESS +LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED +; +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) +; +BQRTCENABLE .EQU TRUE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; +UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +; +ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG +ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG +; +ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +; +SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) +; +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) +; +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) +; +AYENABLE .EQU FALSE ; AY: ENABLE AY PSG SOUND DRIVER +AYMODE .EQU AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG/N8/RCZ80/RCZ180] +; +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_DYNO ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS +; +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER +; +IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .EQU IDEMODE_RC ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] +IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +PPIDEENABLE .EQU TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_DYNO ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT] +SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD & SC ONLY +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE +; +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +; +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +; +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) +; +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP +; +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) diff --git a/Source/HBIOS/cfg_ezz80.asm b/Source/HBIOS/cfg_ezz80.asm index 4d92013b..35fedb50 100644 --- a/Source/HBIOS/cfg_ezz80.asm +++ b/Source/HBIOS/cfg_ezz80.asm @@ -13,7 +13,7 @@ ; #DEFINE PLATFORM_NAME "EASYZ80" ; -PLATFORM .EQU PLT_EZZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_EZZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180] BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE @@ -65,6 +65,9 @@ DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; +BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) ; ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) @@ -108,7 +111,7 @@ MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) -FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] @@ -122,7 +125,7 @@ IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) -PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; diff --git a/Source/HBIOS/cfg_master.asm b/Source/HBIOS/cfg_master.asm index a34ac222..f98c0220 100644 --- a/Source/HBIOS/cfg_master.asm +++ b/Source/HBIOS/cfg_master.asm @@ -10,7 +10,7 @@ ; #DEFINE PLATFORM_NAME "ROMWBW" ; -PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180] BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE @@ -87,6 +87,9 @@ DSRTCENABLE .EQU FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; +BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART @@ -149,7 +152,7 @@ MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) -FDMODE .EQU FDMODE_NONE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDMODE .EQU FDMODE_NONE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] @@ -164,7 +167,7 @@ IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) IDE8BIT .EQU FALSE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) -PPIDEMODE .EQU PPIDEMODE_NONE ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDEMODE .EQU PPIDEMODE_NONE ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; diff --git a/Source/HBIOS/cfg_mk4.asm b/Source/HBIOS/cfg_mk4.asm index c52d0817..876e6978 100644 --- a/Source/HBIOS/cfg_mk4.asm +++ b/Source/HBIOS/cfg_mk4.asm @@ -13,7 +13,7 @@ ; #DEFINE PLATFORM_NAME "MARK IV" ; -PLATFORM .EQU PLT_MK4 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_MK4 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180] BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE @@ -72,6 +72,9 @@ DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; +BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART @@ -104,7 +107,7 @@ MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) -FDMODE .EQU FDMODE_N8 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDMODE .EQU FDMODE_N8 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] @@ -119,7 +122,7 @@ IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) -PPIDEMODE .EQU PPIDEMODE_DIO3 ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDEMODE .EQU PPIDEMODE_DIO3 ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; diff --git a/Source/HBIOS/cfg_n8.asm b/Source/HBIOS/cfg_n8.asm index fe7542af..b6acfc8f 100644 --- a/Source/HBIOS/cfg_n8.asm +++ b/Source/HBIOS/cfg_n8.asm @@ -13,7 +13,7 @@ ; #DEFINE PLATFORM_NAME "N8" ; -PLATFORM .EQU PLT_N8 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_N8 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180] BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE @@ -75,6 +75,9 @@ DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; +BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART @@ -107,7 +110,7 @@ MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) -FDMODE .EQU FDMODE_N8 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDMODE .EQU FDMODE_N8 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] @@ -122,7 +125,7 @@ IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) IDE8BIT .EQU FALSE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) -PPIDEMODE .EQU PPIDEMODE_N8 ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDEMODE .EQU PPIDEMODE_N8 ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; diff --git a/Source/HBIOS/cfg_rcz180.asm b/Source/HBIOS/cfg_rcz180.asm index 62c5bf8b..f8ac4d1e 100644 --- a/Source/HBIOS/cfg_rcz180.asm +++ b/Source/HBIOS/cfg_rcz180.asm @@ -13,7 +13,7 @@ ; #DEFINE PLATFORM_NAME "RC2014" ; -PLATFORM .EQU PLT_RCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_RCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180] BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE @@ -68,6 +68,9 @@ DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; +BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) ; ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) @@ -113,7 +116,7 @@ MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) -FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] @@ -127,7 +130,7 @@ IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) -PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; diff --git a/Source/HBIOS/cfg_rcz80.asm b/Source/HBIOS/cfg_rcz80.asm index 9c3ab068..89b70b4f 100644 --- a/Source/HBIOS/cfg_rcz80.asm +++ b/Source/HBIOS/cfg_rcz80.asm @@ -13,7 +13,7 @@ ; #DEFINE PLATFORM_NAME "RC2014" ; -PLATFORM .EQU PLT_RCZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_RCZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180] BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE @@ -64,6 +64,9 @@ DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; +BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) ; ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) @@ -117,7 +120,7 @@ MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) -FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] @@ -131,7 +134,7 @@ IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) -PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; diff --git a/Source/HBIOS/cfg_sbc.asm b/Source/HBIOS/cfg_sbc.asm index 43da5d26..bd6df768 100644 --- a/Source/HBIOS/cfg_sbc.asm +++ b/Source/HBIOS/cfg_sbc.asm @@ -13,7 +13,7 @@ ; #DEFINE PLATFORM_NAME "SBC" ; -PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180] BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE @@ -66,6 +66,9 @@ DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; +BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART @@ -107,7 +110,7 @@ MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) -FDMODE .EQU FDMODE_DIO3 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDMODE .EQU FDMODE_DIO3 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] @@ -122,7 +125,7 @@ IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) IDE8BIT .EQU FALSE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) -PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; diff --git a/Source/HBIOS/cfg_scz180.asm b/Source/HBIOS/cfg_scz180.asm index 3ddae6ae..fd02bc7c 100644 --- a/Source/HBIOS/cfg_scz180.asm +++ b/Source/HBIOS/cfg_scz180.asm @@ -13,7 +13,7 @@ ; #DEFINE PLATFORM_NAME "SCZ180" ; -PLATFORM .EQU PLT_SCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_SCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180] BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE @@ -63,6 +63,9 @@ DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; +BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) ; ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) @@ -108,7 +111,7 @@ MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) -FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] @@ -122,7 +125,7 @@ IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) -PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; diff --git a/Source/HBIOS/cfg_una.asm b/Source/HBIOS/cfg_una.asm index e5f49de0..622f53ab 100644 --- a/Source/HBIOS/cfg_una.asm +++ b/Source/HBIOS/cfg_una.asm @@ -13,7 +13,7 @@ ; #DEFINE PLATFORM_NAME "UNA" ; -PLATFORM .EQU PLT_UNA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_UNA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] BIOS .EQU BIOS_UNA ; HARDWARE BIOS: BIOS_[WBW|UNA] ; BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT diff --git a/Source/HBIOS/cfg_zeta.asm b/Source/HBIOS/cfg_zeta.asm index eb5d675b..4997be12 100644 --- a/Source/HBIOS/cfg_zeta.asm +++ b/Source/HBIOS/cfg_zeta.asm @@ -13,7 +13,7 @@ ; #DEFINE PLATFORM_NAME "ZETA" ; -PLATFORM .EQU PLT_ZETA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_ZETA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] CPUFAM .EQU CPU_Z80 ; CPU_[Z80|Z180]: CPU FAMILY BIOS .EQU BIOS_WBW ; BIOS_[WBW|UNA]: HARDWARE BIOS BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE @@ -60,6 +60,9 @@ DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; +BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART @@ -87,7 +90,7 @@ MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) -FDMODE .EQU FDMODE_ZETA ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDMODE .EQU FDMODE_ZETA ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] @@ -98,7 +101,7 @@ RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) ; PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) -PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; diff --git a/Source/HBIOS/cfg_zeta2.asm b/Source/HBIOS/cfg_zeta2.asm index 03571213..65c3e8d5 100644 --- a/Source/HBIOS/cfg_zeta2.asm +++ b/Source/HBIOS/cfg_zeta2.asm @@ -13,7 +13,7 @@ ; #DEFINE PLATFORM_NAME "ZETA V2" ; -PLATFORM .EQU PLT_ZETA2 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180] +PLATFORM .EQU PLT_ZETA2 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO] CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180] BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE @@ -65,6 +65,9 @@ DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; +BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM) +BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS +; UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART @@ -92,7 +95,7 @@ MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) -FDMODE .EQU FDMODE_ZETA2 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDMODE .EQU FDMODE_ZETA2 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3|DYNO] FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] @@ -103,7 +106,7 @@ RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) ; PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) -PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC|DYNO] PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; diff --git a/Source/HBIOS/fd.asm b/Source/HBIOS/fd.asm index 95665cf1..a72f1ba9 100644 --- a/Source/HBIOS/fd.asm +++ b/Source/HBIOS/fd.asm @@ -46,13 +46,21 @@ FDC_MSR .EQU $50 ; 8272 MAIN STATUS REGISTER FDC_DATA .EQU $51 ; 8272 DATA PORT FDC_DOR .EQU $58 ; DIGITAL OUTPUT REGISTER (LATCH) #ENDIF -#IF (FDMODE = FDMODE_RCWDC) +#IF (FDMODE == FDMODE_RCWDC) FDC_MSR .EQU $50 ; 8272 MAIN STATUS REGISTER FDC_DATA .EQU $51 ; 8272 DATA PORT FDC_DOR .EQU $58 ; DIGITAL OUTPUT REGISTER FDC_DCR .EQU $48 ; CONFIGURATION CONTROL REGISTER FDC_TC .EQU $58 ; TERMINAL COUNT (W/ DACK) #ENDIF +#IF (FDMODE == FDMODE_DYNO) +FDC_BASE .EQU $84 +FDC_MSR .EQU FDC_BASE + $00 ; 8272 MAIN STATUS REGISTER +FDC_DATA .EQU FDC_BASE + $01 ; 8272 DATA PORT +FDC_DOR .EQU FDC_BASE + $02 ; DIGITAL OUTPUT REGISTER +FDC_DCR .EQU FDC_BASE + $03 ; CONFIGURATION CONTROL REGISTER +FDC_TC .EQU FDC_BASE + $02 ; TERMINAL COUNT (W/ DACK) +#ENDIF ; ; DISK OPERATIONS ; @@ -391,7 +399,7 @@ DOR_INIT .EQU 11100000B ; INITIAL DEFAULT LATCH VALUE ; ; *** DIDE/N8/ZETA V2 *** ; -#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC)) +#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC) | (FDMODE == FDMODE_DYNO)) DOR_INIT .EQU 00001100B ; SOFT RESET INACTIVE, DMA ENABLED DOR_BR250 .EQU DOR_INIT DOR_BR500 .EQU DOR_INIT @@ -1227,7 +1235,7 @@ FC_SETDOR ; ; SET FST_DCR ; -#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC)) +#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC) | (FDMODE == FDMODE_DYNO)) ; FC_SETDCR LD (FST_DCR),A @@ -1259,7 +1267,7 @@ FC_RESETFDC: #IF ((FDMODE == FDMODE_ZETA) | (FDMODE == FDMODE_DIO3) | (FDMODE == FDMODE_RCSMC)) RES 7,A #ENDIF -#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC)) +#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC) | (FDMODE == FDMODE_DYNO)) LD A,0 #ENDIF CALL FC_SETDOR @@ -1274,7 +1282,7 @@ FC_RESETFDC: ; PULSE TERMCT TO TERMINATE ANY ACTIVE EXECUTION PHASE ; FC_PULSETC: -#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC)) +#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC) | (FDMODE == FDMODE_DYNO)) IN A,(FDC_TC) #ELSE LD A,(FST_DOR) @@ -1327,7 +1335,7 @@ FC_MOTORON1: CP C ; COMPARE TO NEW MOTOR BITS RET Z ; SKIP DELAY, MOTOR WAS ALREADY ON #ENDIF -#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC)) +#IF ((FDMODE == FDMODE_DIDE) | (FDMODE == FDMODE_N8) | (FDMODE == FDMODE_ZETA2) | (FDMODE == FDMODE_RCWDC) | (FDMODE == FDMODE_DYNO)) ; SETUP DCR FOR DIDE HARDWARE LD A,(FCD_DCR) ; GET NEW DCR VALUE CALL FC_SETDCR ; AND IMPLEMENT IT diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 78097c77..ba334268 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -1488,6 +1488,9 @@ HB_INITTBL: #IF (DSRTCENABLE) .DW DSRTC_INIT #ENDIF +#IF (BQRTCENABLE) + .DW BQRTC_INIT +#ENDIF #IF (VDUENABLE) .DW VDU_INIT #ENDIF @@ -1966,6 +1969,9 @@ RTC_DISPATCH: #ENDIF #IF (DSRTCENABLE) JP DSRTC_DISPATCH +#ENDIF +#IF (BQRTCENABLE) + JP BQRTC_DISPATCH #ENDIF ;CALL PANIC OR $FF @@ -2753,6 +2759,15 @@ SIZ_DSRTC .EQU $ - ORG_DSRTC .ECHO " bytes.\n" #ENDIF ; +#IF (BQRTCENABLE) +ORG_BQRTC .EQU $ + #INCLUDE "bqrtc.asm" +SIZ_BQRTC .EQU $ - ORG_BQRTC + .ECHO "BQRTC occupies " + .ECHO SIZ_BQRTC + .ECHO " bytes.\n" +#ENDIF +; #IF (ASCIENABLE) ORG_ASCI .EQU $ #INCLUDE "asci.asm" diff --git a/Source/HBIOS/ppide.asm b/Source/HBIOS/ppide.asm index f3317915..478739de 100644 --- a/Source/HBIOS/ppide.asm +++ b/Source/HBIOS/ppide.asm @@ -25,6 +25,10 @@ PPIDE_IO_BASE .EQU $44 PPIDE_IO_BASE .EQU $80 #ENDIF ; +#IF (PPIDEMODE == PPIDEMODE_DYNO) +PPIDE_IO_BASE .EQU $4C +#ENDIF +; PPIDE_IO_DATALO .EQU PPIDE_IO_BASE + 0 ; IDE DATA BUS LSB (8255 PORT A) PPIDE_IO_DATAHI .EQU PPIDE_IO_BASE + 1 ; IDE DATA BUS MSB (8255 PORT B) PPIDE_IO_CTL .EQU PPIDE_IO_BASE + 2 ; IDE ADDRESS BUS AND CONTROL SIGNALS (8255 PORT C) diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 2f8776e4..fa3db59a 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -12,6 +12,7 @@ ; 8. RCZ180 RC2014 based system with Z180 CPU ; 9. EZZ80 Easy Z80, Z80 SBC w/ RC2014 bus and CTC ; 10. SCZ180 Steve Cousins Z180 based system +; 11. DYNO Steve Garcia's Dyno Micro-ATX Motherboard ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; @@ -41,6 +42,7 @@ PLT_RCZ80 .EQU 7 ; RC2014 W Z80 PLT_RCZ180 .EQU 8 ; RC2014 W/ Z180 PLT_EZZ80 .EQU 9 ; EASY Z80 PLT_SCZ180 .EQU 10 ; SCZ180 +PLT_DYNO .EQU 11 ; DYNO MICRO-ATX MOTHERBOARD ; #IF (BIOS == BIOS_WBW) #INCLUDE "hbios.inc" @@ -132,7 +134,7 @@ FDMODE_N8 .EQU 5 ; N8 FDMODE_DIO3 .EQU 6 ; DISKIO V3 FDMODE_RCSMC .EQU 7 ; RC2014 SMC 9266 @ $40 (SCOTT BAKER) FDMODE_RCWDC .EQU 8 ; RC2014 WDC 37C65 @ $40 (SCOTT BAKER) - +FDMODE_DYNO .EQU 9 ; DYNO WDC 37C65 @ $84 ; ; IDE MODE SELECTIONS ; @@ -142,6 +144,7 @@ IDEMODE_DIDE .EQU 2 ; DUAL IDE IDEMODE_MK4 .EQU 3 ; MARK IV ONBOARD IDE (8 BIT) IDEMODE_RC .EQU 4 ; RC2014 CF MODULE (8 BIT) @ $10 (SPENCER OWEN) IDEMODE_SMB .EQU 5 ; RC2014 IDE MODULE (8 BIT) @ $E0 (SCOTT BAKER) +IDEMODE_DYNO .EQU 6 ; DYNO IDE MODULE (8 BIT) @4A ; ; PPIDE MODE SELECTIONS ; @@ -151,6 +154,7 @@ PPIDEMODE_DIO3 .EQU 2 ; DISKIO V3 PARALLEL PORT PPIDEMODE_MFP .EQU 3 ; MULTIFUNCTION / PIC PPIDEMODE_N8 .EQU 4 ; MULTIFUNCTION / PIC PPIDEMODE_RC .EQU 5 ; RC2014 PPIDE MODULE @ $20 (ED BRINDLEY) +PPIDEMODE_DYNO .EQU 6 ; DYNO PPIDE @ $4C ; ; SD MODE SELECTIONS ; diff --git a/Source/HBIOS/ver.inc b/Source/HBIOS/ver.inc index c5fc93ef..ed96d795 100644 --- a/Source/HBIOS/ver.inc +++ b/Source/HBIOS/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 9 #DEFINE RUP 2 #DEFINE RTP 0 -#DEFINE BIOSVER "2.9.2-pre.22" +#DEFINE BIOSVER "2.9.2-pre.25" diff --git a/Source/Images/BuildFD.ps1 b/Source/Images/BuildFD.ps1 index 21781107..ac5a4268 100644 --- a/Source/Images/BuildFD.ps1 +++ b/Source/Images/BuildFD.ps1 @@ -1,6 +1,6 @@ $ErrorAction = 'Stop' -$CpmToolsPath = '../..\Tools\cpmtools' +$CpmToolsPath = '../../Tools/cpmtools' $env:PATH = $CpmToolsPath + ';' + $env:PATH @@ -10,15 +10,15 @@ $Blank = ([byte[]](0xE5) * 1440KB) if (!(Test-Path('Blank.tmp'))) {Set-Content -Value $Blank -Encoding byte -Path 'Blank.tmp'} "Creating floppy disk images..." -for ($Dsk=0; $Dsk -lt 2; $Dsk++) +foreach ($Dsk in @("cpm3","cpm22","nzcom","ws4","zpm3","zsdos")) { "Generating Floppy Disk ${Dsk}..." - copy Blank.tmp fd${Dsk}.img + copy "Blank.tmp" "fd_${Dsk}.img" for ($Usr=0; $Usr -lt 16; $Usr++) { - if (Test-Path ("fd${Dsk}/u${Usr}/*")) + if (Test-Path ("d_${Dsk}/u${Usr}/*")) { - $Cmd = "cpmcp -f wbw_fd144 fd${Dsk}.img fd${Dsk}/u${Usr}/*.* ${Usr}:" + $Cmd = "cpmcp -f wbw_fd144 fd_${Dsk}.img d_${Dsk}/u${Usr}/*.* ${Usr}:" $Cmd Invoke-Expression $Cmd } @@ -26,7 +26,7 @@ for ($Dsk=0; $Dsk -lt 2; $Dsk++) } "Moving images into output directory..." -&$env:COMSPEC /c move fd*.img ..\..\Binary\ +&$env:COMSPEC /c move fd_*.img ..\..\Binary\ Remove-Item *.tmp diff --git a/Source/Images/BuildHD.ps1 b/Source/Images/BuildHD.ps1 index bff4d9a0..a45b98f3 100644 --- a/Source/Images/BuildHD.ps1 +++ b/Source/Images/BuildHD.ps1 @@ -10,31 +10,24 @@ $Blank = ([byte[]](0xE5) * (128KB * 65)) if (!(Test-Path('Blank.tmp'))) {Set-Content -Value $Blank -Encoding byte -Path 'Blank.tmp'} "Creating hard disk images..." -#for ($Dsk=0; $Dsk -lt 2; $Dsk++) -foreach ($Dsk in @("hd0","hd1","hd_cpm3")) +foreach ($Dsk in @("cpm3","cpm22","nzcom","ws4","zpm3","zsdos")) { "Generating Hard Disk ${Dsk}..." - for ($Slice=0; $Slice -lt 4; $Slice++) + copy "Blank.tmp" "hd_${Dsk}.img" + for ($Usr=0; $Usr -lt 16; $Usr++) { - "Adding files to slice ${Slice}..." - copy Blank.tmp slice${Slice}.tmp - for ($Usr=0; $Usr -lt 16; $Usr++) + if (Test-Path ("d_${Dsk}/u${Usr}/*")) { - if (Test-Path ("${Dsk}/s${Slice}/u${Usr}/*")) - { - $Cmd = "cpmcp -f wbw_hd0 slice${Slice}.tmp ${Dsk}/s${Slice}/u${Usr}/*.* ${Usr}:" - $Cmd - Invoke-Expression $Cmd - } + $Cmd = "cpmcp -f wbw_hd0 hd_${Dsk}.img d_${Dsk}/u${Usr}/*.* ${Usr}:" + $Cmd + Invoke-Expression $Cmd } } - - "Combining slices into final disk image ${Dsk}..." - &$env:COMSPEC /c copy /b slice*.tmp ..\..\Binary\${Dsk}.img - - Remove-Item slice*.tmp } +"Moving images into output directory..." +&$env:COMSPEC /c move hd_*.img ..\..\Binary\ + Remove-Item *.tmp return \ No newline at end of file diff --git a/Source/Images/ReadMe.txt b/Source/Images/ReadMe.txt index 23d9f66c..2c68f5eb 100644 --- a/Source/Images/ReadMe.txt +++ b/Source/Images/ReadMe.txt @@ -13,8 +13,8 @@ image to a floppy or hard disk (including CF and SD cards). In summary, CP/M files are placed inside of a pre-defined Windows directory structure. A script is then run to create the floppy and hard disk images from the directory tree contents. The resultant -images may be copied directly to floppy or hard disk media or used -for SIMH emulator disk images. +images may be copied directly to floppy or hard disk media or used as +SIMH emulator disk images. System Requirements ------------------- @@ -27,130 +27,97 @@ are using Windows XP, you will need to download it from Microsoft and install it (free download). The cpmtools toolset is used to generate the actual disk images. -This toolset is included in the distribution. +This toolset is included in the distribution, so you do not need to +download or install it. Preparing the Source Directory Contents --------------------------------------- The script expects your files to be found inside a specific directory -structure. Note that you will see there are some CP/M files in the -Source directory tree in the distribution. These are simply test -files I used and have no specific meaing. You will probably want to -replace them with your own files as desired. - -If you look at the Images directory, you will find 4 -sub-directories. fd0 and fd1 will contain the files to be placed in -the two floppy images gneerated. hd0 and hd1 will contain the files -to be used to generate the two hard disk images. There is nothing -magic about the fact that there are two of each kind of image -generated. It just seemed like a good number to the author. A quick -review of the scripts and you will see it is very easy to modify the -number of images generated if you want. - -For floppy disks, the structure is: - - fd0 --+--> u0 - +--> u1 - | - +--> u15 - -Above, fd0 refers to the first floppy disk image and u0...u15 refer -to the user areas on the disk. You place whatever files you want on -fd0, user 0 in the fd0\u0 directory. You will notice that not all of -the u0...u15 directories exist. The script does not care and treats -a non-existent directory as a directory with no files. The fd1 -directory is exactly the same as fd0 -- it is simply the second -floppy image. +structure. The structure is: + + d_xxx --+--> u0 + +--> u1 + +--> u2 + | . + | . + | . + +--> u15 + +A given disk is reprsented by a directory named d_xxx where xxx can +be anything you want. Within the d_xxx directory, the CP/M user +areas are represented by subdirectories names u0 thru u15. The files +to be placed in the disk image are placed inside of the u0 thru u15 +directories depending on which user area you want the file(s) to +appear. You do not need to create all of the u## subdirectories, +only the ones corresponding to the user areas you want to put files in. + +To build the disk images, you run the Build.cmd batch file from a +command prompt. Build.cmd in turn invokes separate scripts to create +the floppy and hard disk images. + +As distributed, you will see that there are several d_ directories +populated with files. If you look at the BuildFD.ps1 and BuildHD.ps1 +scripts, you will find that the names of each of these directories is +listed. If you want to add a new d_ directory to be converted into a +disk image, you will need to add the name of your new directory to +this list. Note that each d_ directory may be turned into a floppy +image or a hard disk image or both. At present, the scripts assume that the floppy media is 1.44MB. You will need to modify the scripts if you want to create different media. -For hard disks, the structure has one more level: - - hd0 --+--> s0 --+--> u0 - | +--> u1 - | | - | +--> u15 - | - +--> s1 --+--> u0 - | +--> u1 - | | - | +--> u15 - | - +--> s2 --+--> u0 - | +--> u1 - | | - | +--> u15 - | - +--> s3 --+--> u0 - +--> u1 - | - +--> u15 - -The above uses the same concept as the floppy disk source structure, -but includes an additional directory layer to represent the first 4 -slices of the hard disk. For most RomWBW builds, s0-s3 would show up -as the first 4 hard disk drive letters, frequently E: to H:. - -No files should be placed in the first two layers of the tree (hd0 or -s0-s3). All files go into the lowest level of the tree (u0-u15). As -above, empty or non-existent directories are not a problem for the -script. Just fill in or create the appropriate directories. The -only constraint is the the script will only look for two hard disks -(hd0-hd1), 4 slices (s0-s4), and 16 user areas (u0-u15). The number -of hard disks and number of slices could be changed by modifying the -generation scripts. - Building the Images ------------------- The image creation process simply traverses the directory structures -described above and builds a raw image each floppy disk or hard -disk. Note that cpmtools is used to generate the images and is +described above and builds a raw disk image for each floppy disk or +hard disk. Note that cpmtools is used to generate the images and is included in the distribution under the Tools directory. The scripts are intended to be run from a command prompt. Open a command prompt and navigate to the Images directory. To build the -floppy disk images (fd0 and fd1), use the command "BuildFD". To build -the hard disk images (hd0, hd1), use the command "BuildHD". You can -use the command "BuildAll" to build both the floppy and hard disk -images in one run. +floppy disk images, use the command "BuildFD". To build the hard disk +images, use the command "BuildHD". You can use the command "Build" +to build both the floppy and hard disk images in one run. After completion of the script, the resultant image files are placed -in the Binary directory with names such as fd0.img and hd0.img. +in the Binary directory with names such as fd_xxx.img and hd_xxx.img. Below is sample output from building the hard disk images: - | C:\Users\WWarthen\Projects\N8VEM\Build\RomWBW\Images>BuildHD + | C:\Users\Wayne\Projects\RBC\Build\RomWBW\Source\Images>BuildHD.cmd | Creating work file... | Creating hard disk images... - | Generating Hard Disk 0... - | Adding files to slice 0... - | cpmcp -f wbw_hd0 slice0.tmp Source/hd0/s0/u0/*.* 0: - | cpmcp -f wbw_hd0 slice0.tmp Source/hd0/s0/u2/*.* 2: - | Adding files to slice 1... - | cpmcp -f wbw_hd0 slice1.tmp Source/hd0/s1/u0/*.* 0: - | Adding files to slice 2... - | Adding files to slice 3... - | Combining slices into final disk image hd0... - | slice0.tmp - | slice1.tmp - | slice2.tmp - | slice3.tmp - | 1 file(s) copied. - | Generating Hard Disk 1... - | Adding files to slice 0... - | Adding files to slice 1... - | Adding files to slice 2... - | Adding files to slice 3... - | Combining slices into final disk image hd1... - | slice0.tmp - | slice1.tmp - | slice2.tmp - | slice3.tmp - | 1 file(s) copied. + | Generating Hard Disk cpm3... + | cpmcp -f wbw_hd0 hd_cpm3.img d_cpm3/u0/*.* 0: + | Generating Hard Disk cpm22... + | cpmcp -f wbw_hd0 hd_cpm22.img d_cpm22/u0/*.* 0: + | cpmcp -f wbw_hd0 hd_cpm22.img d_cpm22/u1/*.* 1: + | cpmcp -f wbw_hd0 hd_cpm22.img d_cpm22/u3/*.* 3: + | Generating Hard Disk nzcom... + | cpmcp -f wbw_hd0 hd_nzcom.img d_nzcom/u0/*.* 0: + | Generating Hard Disk ws4... + | cpmcp -f wbw_hd0 hd_ws4.img d_ws4/u0/*.* 0: + | Generating Hard Disk zpm3... + | cpmcp -f wbw_hd0 hd_zpm3.img d_zpm3/u0/*.* 0: + | cpmcp -f wbw_hd0 hd_zpm3.img d_zpm3/u10/*.* 10: + | cpmcp -f wbw_hd0 hd_zpm3.img d_zpm3/u14/*.* 14: + | cpmcp -f wbw_hd0 hd_zpm3.img d_zpm3/u15/*.* 15: + | Generating Hard Disk zsdos... + | cpmcp -f wbw_hd0 hd_zsdos.img d_zsdos/u0/*.* 0: + | cpmcp -f wbw_hd0 hd_zsdos.img d_zsdos/u1/*.* 1: + | cpmcp -f wbw_hd0 hd_zsdos.img d_zsdos/u3/*.* 3: + | Moving images into output directory... + | C:\Users\Wayne\Projects\RBC\Build\RomWBW\Source\Images\hd_cpm22.img + | C:\Users\Wayne\Projects\RBC\Build\RomWBW\Source\Images\hd_cpm3.img + | C:\Users\Wayne\Projects\RBC\Build\RomWBW\Source\Images\hd_nzcom.img + | C:\Users\Wayne\Projects\RBC\Build\RomWBW\Source\Images\hd_ws4.img + | C:\Users\Wayne\Projects\RBC\Build\RomWBW\Source\Images\hd_zpm3.img + | C:\Users\Wayne\Projects\RBC\Build\RomWBW\Source\Images\hd_zsdos.img + | 6 file(s) moved. | - | C:\Users\WWarthen\Projects\N8VEM\Build\RomWBW\Images> + | C:\Users\Wayne\Projects\RBC\Build\RomWBW\Source\Images> Be aware that the script always builds the image file from scratch. It will not update the previous contents. Any contents of a @@ -165,23 +132,23 @@ with extreme caution and make sure you have backups. To install a floppy image on floppy media, you can use the tool called RaWriteWin. This tool is included in the Tools directory of -the distribution. This tool will write your floppy image (fd0.img or -fd1.img) to a floppy disk using a raw block transfer. The tool is -GUI based and it's operation is self explanatory. +the distribution. This tool will write your floppy image (fd_xxx.img) +to a floppy disk using a raw block transfer. The tool is GUI based +and it's operation is self explanatory. To install a hard disk image on a CF card or SD card, you must have the appropriate media card slot on your computer. If you do, you can use the tool called Win32 Disk Imager. This tool is also included in the Tools directory of the distribution. This tool will write your -hard disk image (hd0.img or hd1.img) to the designated media card. -This tool is also GUI based and self explanatory. +hard disk image (hd_xxx.img) to the designated media card. This tool +is also GUI based and self explanatory. Use of the SIMH emulator is outside of the scope of this document. However, if you use SIMH, you will find that you can attach the hard disk images to the emulator with lines such as the following in your SIMH configuration file: - | attach hdsk0 hd0.img + | attach hdsk0 hd_cpm22.img | set hdsk0 format=HDSK | set hdsk0 geom=T:520/N:256/S:512 | set hdsk0 wrtenb @@ -198,10 +165,82 @@ The simplest way to make a resultant image bootable is to do it from your running CP/M system. Boot your system using the ROM selection, then use the SYSCOPY command to make the desired drive bootable. -You would use a command like the following to make drive C bootable. +You would use a command like the following to make drive C bootable: | B>SYSCOPY C:=CPM.SYS +Slices +------ + +A RomWBW CP/M filesystem is fixed at 8MB. This is because it is the +largest size filesystem supported by all common CP/M variants. Since +all modern hard disks (including SD Cards and CF Cards) are much +larger than 8MB, RomWBW supports the concept of "slices". This +simply means that you can concatenate multiple CP/M filesystems (up +to 256 of them) on a single physical hard disk and RomWBW will allow +you to assign drive letters to them and treat them as multiple +independent CP/M drives. + +The disk image creation scripts in this directory will only create a +single CP/M file system (i.e., a single slice). However, you can +easily create a multi-slice disk image by merely concatenating +multiple images together. For example, if you wanted to create a 2 +slice disk image that has ZSDOS in the first slice and Wordstar in +the second slice, you could use the following command from a Windows +command prompt: + + | C:\RomWBW\Binary>copy /b hd_zsdos.img + hd_ws.img hd_multi.img + +You can now write hd_multi.img onto your SD or CF Card and you will +have ZSDOS in the first slice and Wordstar in the second slice. + +The concept of slices applies ONLY to hard disks. Floppy disks are +not large enough to support multiple slices. + +Disk Images +----------- + +RomWBW comes with several disk images. These disk images are +created from this directory using the process described above. +This is a brief description of the disk images: + +cpm22 - DRI CP/M 2.2 (Floppy and Hard Disk) + +Standard DRI CP/M 2.2 distribution files along with a few commonly +used utilities. + +zsdos - ZCPR1 + ZSDOS 1.1 (Floppy and Hard Disk) + +Contains ZCPR1 and ZSDOS 1.1. This is roughly equivalent to the +ROM boot contents, but provides a full set of the applications +are related files that would not all fit on the ROM drive. + +nzcom - NZCOM (Floppy and Hard Disk) + +Standard NZCOM distribution. Note that you will need to run the +NZCOM setup before this will run properly. You will need +to refer to the NZCOM documentation. + +cpm3 - DRI CP/M3 (Floppy and Hard Disk) + +Standard DRI CP/M 3 adaptation for RomWBW that is ready to run. +It can be started by running CPMLDR. + +zpm3 - ZPM3 (Floppy and Hard Disk) + +Simeon Cran's ZCPR 3 compatible OS for CP/M 3 adapted for RomWBW and +ready to run. It can be started by running CPMLDR (which seems +wrong, but ZPMLDR is somewhat broken). + +ws4 - WorkStar 4 (Floppy and Hard Disk) + +Micropro Wordstar 4 full distribution. + +bp - BPBIOS (Hard Disk only) + +Adaptation of BPBIOS for RomWBW. This is not complete and NOT +useable in it's current state. + Notes ----- diff --git a/Source/Images/hd0/s0/u0/alien.dat b/Source/Images/d_bp/u0/ALIEN.DAT similarity index 100% rename from Source/Images/hd0/s0/u0/alien.dat rename to Source/Images/d_bp/u0/ALIEN.DAT diff --git a/Source/Images/fd0/u0/ASM.COM b/Source/Images/d_bp/u0/ASM.COM similarity index 100% rename from Source/Images/fd0/u0/ASM.COM rename to Source/Images/d_bp/u0/ASM.COM diff --git a/Source/Images/hd0/s0/u0/bpbuild.com b/Source/Images/d_bp/u0/BPBUILD.COM similarity index 100% rename from Source/Images/hd0/s0/u0/bpbuild.com rename to Source/Images/d_bp/u0/BPBUILD.COM diff --git a/Source/Images/hd0/s0/u0/bpcnfg.com b/Source/Images/d_bp/u0/BPCNFG.COM similarity index 100% rename from Source/Images/hd0/s0/u0/bpcnfg.com rename to Source/Images/d_bp/u0/BPCNFG.COM diff --git a/Source/Images/hd0/s0/u0/bpdbug.com b/Source/Images/d_bp/u0/BPDBUG.COM similarity index 100% rename from Source/Images/hd0/s0/u0/bpdbug.com rename to Source/Images/d_bp/u0/BPDBUG.COM diff --git a/Source/Images/hd0/s0/u0/bpformat.com b/Source/Images/d_bp/u0/BPFORMAT.COM similarity index 100% rename from Source/Images/hd0/s0/u0/bpformat.com rename to Source/Images/d_bp/u0/BPFORMAT.COM diff --git a/Source/Images/hd0/s0/u0/bpswap.com b/Source/Images/d_bp/u0/BPSWAP.COM similarity index 100% rename from Source/Images/hd0/s0/u0/bpswap.com rename to Source/Images/d_bp/u0/BPSWAP.COM diff --git a/Source/Images/hd0/s0/u0/bpsysgen.com b/Source/Images/d_bp/u0/BPSYSGEN.COM similarity index 100% rename from Source/Images/hd0/s0/u0/bpsysgen.com rename to Source/Images/d_bp/u0/BPSYSGEN.COM diff --git a/Source/Images/d_bp/u0/COMPARE.COM b/Source/Images/d_bp/u0/COMPARE.COM new file mode 100644 index 00000000..29fa41e6 Binary files /dev/null and b/Source/Images/d_bp/u0/COMPARE.COM differ diff --git a/Source/Images/hd0/s0/u0/confz4.com b/Source/Images/d_bp/u0/CONFZ4.COM similarity index 100% rename from Source/Images/hd0/s0/u0/confz4.com rename to Source/Images/d_bp/u0/CONFZ4.COM diff --git a/Source/Images/fd0/u0/CR.COM b/Source/Images/d_bp/u0/CR.COM similarity index 100% rename from Source/Images/fd0/u0/CR.COM rename to Source/Images/d_bp/u0/CR.COM diff --git a/Source/Images/fd0/u0/DDT.COM b/Source/Images/d_bp/u0/DDT.COM similarity index 100% rename from Source/Images/fd0/u0/DDT.COM rename to Source/Images/d_bp/u0/DDT.COM diff --git a/Source/Images/fd0/u0/DDTZ.COM b/Source/Images/d_bp/u0/DDTZ.COM similarity index 100% rename from Source/Images/fd0/u0/DDTZ.COM rename to Source/Images/d_bp/u0/DDTZ.COM diff --git a/Source/Images/fd0/u0/DDTZ.DOC b/Source/Images/d_bp/u0/DDTZ.DOC similarity index 100% rename from Source/Images/fd0/u0/DDTZ.DOC rename to Source/Images/d_bp/u0/DDTZ.DOC diff --git a/Source/Images/fd0/u0/DIRX.COM b/Source/Images/d_bp/u0/DIRX.COM similarity index 100% rename from Source/Images/fd0/u0/DIRX.COM rename to Source/Images/d_bp/u0/DIRX.COM diff --git a/Source/Images/fd0/u0/DUMP.COM b/Source/Images/d_bp/u0/DUMP.COM similarity index 100% rename from Source/Images/fd0/u0/DUMP.COM rename to Source/Images/d_bp/u0/DUMP.COM diff --git a/Source/Images/fd0/u0/ED.COM b/Source/Images/d_bp/u0/ED.COM similarity index 100% rename from Source/Images/fd0/u0/ED.COM rename to Source/Images/d_bp/u0/ED.COM diff --git a/Source/Images/hd0/s0/u0/emulate.com b/Source/Images/d_bp/u0/EMULATE.COM similarity index 100% rename from Source/Images/hd0/s0/u0/emulate.com rename to Source/Images/d_bp/u0/EMULATE.COM diff --git a/Source/Images/hd0/s0/u0/fa.com b/Source/Images/d_bp/u0/FA.COM similarity index 100% rename from Source/Images/hd0/s0/u0/fa.com rename to Source/Images/d_bp/u0/FA.COM diff --git a/Source/Images/fd0/u0/FAT.COM b/Source/Images/d_bp/u0/FAT.COM similarity index 100% rename from Source/Images/fd0/u0/FAT.COM rename to Source/Images/d_bp/u0/FAT.COM diff --git a/Source/Images/hd0/s0/u0/hashini.com b/Source/Images/d_bp/u0/HASHINI.COM similarity index 100% rename from Source/Images/hd0/s0/u0/hashini.com rename to Source/Images/d_bp/u0/HASHINI.COM diff --git a/Source/Images/hd0/s0/u0/hdiag.com b/Source/Images/d_bp/u0/HDIAG.COM similarity index 100% rename from Source/Images/hd0/s0/u0/hdiag.com rename to Source/Images/d_bp/u0/HDIAG.COM diff --git a/Source/Images/hd0/s0/u0/HDIR.COM b/Source/Images/d_bp/u0/HDIR.COM similarity index 100% rename from Source/Images/hd0/s0/u0/HDIR.COM rename to Source/Images/d_bp/u0/HDIR.COM diff --git a/Source/Images/hd0/s0/u0/help.com b/Source/Images/d_bp/u0/HELP.COM similarity index 100% rename from Source/Images/hd0/s0/u0/help.com rename to Source/Images/d_bp/u0/HELP.COM diff --git a/Source/Images/hd0/s0/u0/iniramd.com b/Source/Images/d_bp/u0/INIRAMD.COM similarity index 100% rename from Source/Images/hd0/s0/u0/iniramd.com rename to Source/Images/d_bp/u0/INIRAMD.COM diff --git a/Source/Images/fd1/u0/INITDIR.COM b/Source/Images/d_bp/u0/INITDIR.COM similarity index 100% rename from Source/Images/fd1/u0/INITDIR.COM rename to Source/Images/d_bp/u0/INITDIR.COM diff --git a/Source/Images/hd0/s0/u0/instal12.com b/Source/Images/d_bp/u0/INSTAL12.COM similarity index 100% rename from Source/Images/hd0/s0/u0/instal12.com rename to Source/Images/d_bp/u0/INSTAL12.COM diff --git a/Source/Images/hd0/s0/u0/iopinit.com b/Source/Images/d_bp/u0/IOPINIT.COM similarity index 100% rename from Source/Images/hd0/s0/u0/iopinit.com rename to Source/Images/d_bp/u0/IOPINIT.COM diff --git a/Source/Images/fd0/u0/LBREXT.COM b/Source/Images/d_bp/u0/LBREXT.COM similarity index 100% rename from Source/Images/fd0/u0/LBREXT.COM rename to Source/Images/d_bp/u0/LBREXT.COM diff --git a/Source/Images/hd0/s0/u0/ldds.com b/Source/Images/d_bp/u0/LDDS.COM similarity index 100% rename from Source/Images/hd0/s0/u0/ldds.com rename to Source/Images/d_bp/u0/LDDS.COM diff --git a/Source/Images/hd0/s0/u0/ldnzt.com b/Source/Images/d_bp/u0/LDNZT.COM similarity index 100% rename from Source/Images/hd0/s0/u0/ldnzt.com rename to Source/Images/d_bp/u0/LDNZT.COM diff --git a/Source/Images/hd0/s0/u0/ldp2d.com b/Source/Images/d_bp/u0/LDP2D.COM similarity index 100% rename from Source/Images/hd0/s0/u0/ldp2d.com rename to Source/Images/d_bp/u0/LDP2D.COM diff --git a/Source/Images/hd0/s0/u0/ldr.com b/Source/Images/d_bp/u0/LDR.COM similarity index 100% rename from Source/Images/hd0/s0/u0/ldr.com rename to Source/Images/d_bp/u0/LDR.COM diff --git a/Source/Images/hd0/s0/u0/ldsys.com b/Source/Images/d_bp/u0/LDSYS.COM similarity index 100% rename from Source/Images/hd0/s0/u0/ldsys.com rename to Source/Images/d_bp/u0/LDSYS.COM diff --git a/Source/Images/fd0/u0/LIB.COM b/Source/Images/d_bp/u0/LIB.COM similarity index 100% rename from Source/Images/fd0/u0/LIB.COM rename to Source/Images/d_bp/u0/LIB.COM diff --git a/Source/Images/fd0/u0/LINK.COM b/Source/Images/d_bp/u0/LINK.COM similarity index 100% rename from Source/Images/fd0/u0/LINK.COM rename to Source/Images/d_bp/u0/LINK.COM diff --git a/Source/Images/fd0/u0/LOAD.COM b/Source/Images/d_bp/u0/LOAD.COM similarity index 100% rename from Source/Images/fd0/u0/LOAD.COM rename to Source/Images/d_bp/u0/LOAD.COM diff --git a/Source/Images/fd0/u0/MAC.COM b/Source/Images/d_bp/u0/MAC.COM similarity index 100% rename from Source/Images/fd0/u0/MAC.COM rename to Source/Images/d_bp/u0/MAC.COM diff --git a/Source/Images/fd0/u0/MBASIC.COM b/Source/Images/d_bp/u0/MBASIC.COM similarity index 100% rename from Source/Images/fd0/u0/MBASIC.COM rename to Source/Images/d_bp/u0/MBASIC.COM diff --git a/Source/Images/hd0/s1/u0/NULU.COM b/Source/Images/d_bp/u0/NULU.COM similarity index 99% rename from Source/Images/hd0/s1/u0/NULU.COM rename to Source/Images/d_bp/u0/NULU.COM index 3d45098a..fc5594b1 100644 Binary files a/Source/Images/hd0/s1/u0/NULU.COM and b/Source/Images/d_bp/u0/NULU.COM differ diff --git a/Source/Images/hd0/s0/u0/NZDEC23D.Z3T b/Source/Images/d_bp/u0/NZDEC23D.Z3T similarity index 100% rename from Source/Images/hd0/s0/u0/NZDEC23D.Z3T rename to Source/Images/d_bp/u0/NZDEC23D.Z3T diff --git a/Source/Images/fd1/u0/ZPATH.COM b/Source/Images/d_bp/u0/PATH.COM similarity index 100% rename from Source/Images/fd1/u0/ZPATH.COM rename to Source/Images/d_bp/u0/PATH.COM diff --git a/Source/Images/fd0/u0/PIP.COM b/Source/Images/d_bp/u0/PIP.COM similarity index 100% rename from Source/Images/fd0/u0/PIP.COM rename to Source/Images/d_bp/u0/PIP.COM diff --git a/Source/Images/fd1/u0/PUTDS.COM b/Source/Images/d_bp/u0/PUTDS.COM similarity index 100% rename from Source/Images/fd1/u0/PUTDS.COM rename to Source/Images/d_bp/u0/PUTDS.COM diff --git a/Source/Images/hd0/s0/u0/R.COM b/Source/Images/d_bp/u0/R.COM similarity index 100% rename from Source/Images/hd0/s0/u0/R.COM rename to Source/Images/d_bp/u0/R.COM diff --git a/Source/Images/fd0/u0/RMAC.COM b/Source/Images/d_bp/u0/RMAC.COM similarity index 100% rename from Source/Images/fd0/u0/RMAC.COM rename to Source/Images/d_bp/u0/RMAC.COM diff --git a/Source/Images/hd0/s0/u0/RSETSIMH.COM b/Source/Images/d_bp/u0/RSETSIMH.COM similarity index 100% rename from Source/Images/hd0/s0/u0/RSETSIMH.COM rename to Source/Images/d_bp/u0/RSETSIMH.COM diff --git a/Source/Images/hd0/s0/u0/setclok.com b/Source/Images/d_bp/u0/SETCLOK.COM similarity index 100% rename from Source/Images/hd0/s0/u0/setclok.com rename to Source/Images/d_bp/u0/SETCLOK.COM diff --git a/Source/Images/hd0/s0/u0/showhd.com b/Source/Images/d_bp/u0/SHOWHD.COM similarity index 100% rename from Source/Images/hd0/s0/u0/showhd.com rename to Source/Images/d_bp/u0/SHOWHD.COM diff --git a/Source/Images/hd0/s0/u0/sizeram.com b/Source/Images/d_bp/u0/SIZERAM.COM similarity index 100% rename from Source/Images/hd0/s0/u0/sizeram.com rename to Source/Images/d_bp/u0/SIZERAM.COM diff --git a/Source/Images/hd0/s0/u0/slowdown.com b/Source/Images/d_bp/u0/SLOWDOWN.COM similarity index 100% rename from Source/Images/hd0/s0/u0/slowdown.com rename to Source/Images/d_bp/u0/SLOWDOWN.COM diff --git a/Source/Images/hd0/s0/u0/speedup.com b/Source/Images/d_bp/u0/SPEEDUP.COM similarity index 100% rename from Source/Images/hd0/s0/u0/speedup.com rename to Source/Images/d_bp/u0/SPEEDUP.COM diff --git a/Source/Images/hd0/s0/u0/start01.com b/Source/Images/d_bp/u0/START01.COM similarity index 100% rename from Source/Images/hd0/s0/u0/start01.com rename to Source/Images/d_bp/u0/START01.COM diff --git a/Source/Images/fd0/u0/STAT.COM b/Source/Images/d_bp/u0/STAT.COM similarity index 100% rename from Source/Images/fd0/u0/STAT.COM rename to Source/Images/d_bp/u0/STAT.COM diff --git a/Source/Images/fd0/u0/SUBMIT.COM b/Source/Images/d_bp/u0/SUBMIT.COM similarity index 100% rename from Source/Images/fd0/u0/SUBMIT.COM rename to Source/Images/d_bp/u0/SUBMIT.COM diff --git a/Source/Images/fd0/u0/SUPERSUB.COM b/Source/Images/d_bp/u0/SUPERSUB.COM similarity index 100% rename from Source/Images/fd0/u0/SUPERSUB.COM rename to Source/Images/d_bp/u0/SUPERSUB.COM diff --git a/Source/Images/hd0/s0/u0/sys.fcp b/Source/Images/d_bp/u0/SYS.FCP similarity index 100% rename from Source/Images/hd0/s0/u0/sys.fcp rename to Source/Images/d_bp/u0/SYS.FCP diff --git a/Source/Images/hd0/s0/u0/sys.ndr b/Source/Images/d_bp/u0/SYS.NDR similarity index 100% rename from Source/Images/hd0/s0/u0/sys.ndr rename to Source/Images/d_bp/u0/SYS.NDR diff --git a/Source/Images/hd0/s0/u0/sys.rcp b/Source/Images/d_bp/u0/SYS.RCP similarity index 100% rename from Source/Images/hd0/s0/u0/sys.rcp rename to Source/Images/d_bp/u0/SYS.RCP diff --git a/Source/Images/hd0/s0/u0/tcselect.com b/Source/Images/d_bp/u0/TCSELECT.COM similarity index 100% rename from Source/Images/hd0/s0/u0/tcselect.com rename to Source/Images/d_bp/u0/TCSELECT.COM diff --git a/Source/Images/hd0/s0/u0/tdd.com b/Source/Images/d_bp/u0/TDD.COM similarity index 100% rename from Source/Images/hd0/s0/u0/tdd.com rename to Source/Images/d_bp/u0/TDD.COM diff --git a/Source/Images/hd0/s0/u0/TIMER.COM b/Source/Images/d_bp/u0/TIMER.COM similarity index 100% rename from Source/Images/hd0/s0/u0/TIMER.COM rename to Source/Images/d_bp/u0/TIMER.COM diff --git a/Source/Images/hd0/s0/u0/turbo.com b/Source/Images/d_bp/u0/TURBO.COM similarity index 100% rename from Source/Images/hd0/s0/u0/turbo.com rename to Source/Images/d_bp/u0/TURBO.COM diff --git a/Source/Images/fd0/u0/UNARC.COM b/Source/Images/d_bp/u0/UNARC.COM similarity index 100% rename from Source/Images/fd0/u0/UNARC.COM rename to Source/Images/d_bp/u0/UNARC.COM diff --git a/Source/Images/fd0/u0/UNCR.COM b/Source/Images/d_bp/u0/UNCR.COM similarity index 100% rename from Source/Images/fd0/u0/UNCR.COM rename to Source/Images/d_bp/u0/UNCR.COM diff --git a/Source/Images/fd0/u0/UNZIP.COM b/Source/Images/d_bp/u0/UNZIP.COM similarity index 100% rename from Source/Images/fd0/u0/UNZIP.COM rename to Source/Images/d_bp/u0/UNZIP.COM diff --git a/Source/Images/hd0/s0/u0/URL.COM b/Source/Images/d_bp/u0/URL.COM similarity index 100% rename from Source/Images/hd0/s0/u0/URL.COM rename to Source/Images/d_bp/u0/URL.COM diff --git a/Source/Images/hd0/s0/u0/valias.com b/Source/Images/d_bp/u0/VALIAS.COM similarity index 100% rename from Source/Images/hd0/s0/u0/valias.com rename to Source/Images/d_bp/u0/VALIAS.COM diff --git a/Source/Images/fd0/u0/VIDATT.Z80 b/Source/Images/d_bp/u0/VIDATT.Z80 similarity index 100% rename from Source/Images/fd0/u0/VIDATT.Z80 rename to Source/Images/d_bp/u0/VIDATT.Z80 diff --git a/Source/Images/hd0/s0/u0/VT100TCP.Z3T b/Source/Images/d_bp/u0/VT100TCP.Z3T similarity index 100% rename from Source/Images/hd0/s0/u0/VT100TCP.Z3T rename to Source/Images/d_bp/u0/VT100TCP.Z3T diff --git a/Source/Images/hd0/s0/u0/W.COM b/Source/Images/d_bp/u0/W.COM similarity index 100% rename from Source/Images/hd0/s0/u0/W.COM rename to Source/Images/d_bp/u0/W.COM diff --git a/Source/Images/hd0/s0/u0/WW.Z3T b/Source/Images/d_bp/u0/WW.Z3T similarity index 100% rename from Source/Images/hd0/s0/u0/WW.Z3T rename to Source/Images/d_bp/u0/WW.Z3T diff --git a/Source/Images/fd0/u0/XSUB.COM b/Source/Images/d_bp/u0/XSUB.COM similarity index 100% rename from Source/Images/fd0/u0/XSUB.COM rename to Source/Images/d_bp/u0/XSUB.COM diff --git a/Source/Images/hd0/s0/u0/z3tcap.tcp b/Source/Images/d_bp/u0/Z3TCAP.TCP similarity index 100% rename from Source/Images/hd0/s0/u0/z3tcap.tcp rename to Source/Images/d_bp/u0/Z3TCAP.TCP diff --git a/Source/Images/hd0/s0/u0/Z3TCAP.Z3T b/Source/Images/d_bp/u0/Z3TCAP.Z3T similarity index 100% rename from Source/Images/hd0/s0/u0/Z3TCAP.Z3T rename to Source/Images/d_bp/u0/Z3TCAP.Z3T diff --git a/Source/Images/hd0/s0/u0/z41.zrl b/Source/Images/d_bp/u0/Z41.ZRL similarity index 100% rename from Source/Images/hd0/s0/u0/z41.zrl rename to Source/Images/d_bp/u0/Z41.ZRL diff --git a/Source/Images/fd0/u0/ZAP.COM b/Source/Images/d_bp/u0/ZAP.COM similarity index 100% rename from Source/Images/fd0/u0/ZAP.COM rename to Source/Images/d_bp/u0/ZAP.COM diff --git a/Source/Images/fd1/u0/ZCNFG.COM b/Source/Images/d_bp/u0/ZCNFG.COM similarity index 100% rename from Source/Images/fd1/u0/ZCNFG.COM rename to Source/Images/d_bp/u0/ZCNFG.COM diff --git a/Source/Images/hd0/s0/u0/zcpr33.rel b/Source/Images/d_bp/u0/ZCPR33.REL similarity index 100% rename from Source/Images/hd0/s0/u0/zcpr33.rel rename to Source/Images/d_bp/u0/ZCPR33.REL diff --git a/Source/Images/fd0/u0/ZDE.COM b/Source/Images/d_bp/u0/ZDE.COM similarity index 100% rename from Source/Images/fd0/u0/ZDE.COM rename to Source/Images/d_bp/u0/ZDE.COM diff --git a/Source/Images/hd0/s0/u0/zs203.zrl b/Source/Images/d_bp/u0/ZS203.ZRL similarity index 100% rename from Source/Images/hd0/s0/u0/zs203.zrl rename to Source/Images/d_bp/u0/ZS203.ZRL diff --git a/Source/Images/hd0/s0/u0/zscfg2.com b/Source/Images/d_bp/u0/ZSCFG2.COM similarity index 100% rename from Source/Images/hd0/s0/u0/zscfg2.com rename to Source/Images/d_bp/u0/ZSCFG2.COM diff --git a/Source/Images/fd1/u0/ZSCONFIG.COM b/Source/Images/d_bp/u0/ZSCONFIG.COM similarity index 100% rename from Source/Images/fd1/u0/ZSCONFIG.COM rename to Source/Images/d_bp/u0/ZSCONFIG.COM diff --git a/Source/Images/hd0/s0/u0/zsdos.zrl b/Source/Images/d_bp/u0/ZSDOS.ZRL similarity index 100% rename from Source/Images/hd0/s0/u0/zsdos.zrl rename to Source/Images/d_bp/u0/ZSDOS.ZRL diff --git a/Source/Images/hd_cpm3/s0/u0/ZSID6.COM b/Source/Images/d_bp/u0/ZSID.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/ZSID6.COM rename to Source/Images/d_bp/u0/ZSID.COM diff --git a/Source/Images/hd0/s0/u0/zxd.com b/Source/Images/d_bp/u0/ZXD.COM similarity index 100% rename from Source/Images/hd0/s0/u0/zxd.com rename to Source/Images/d_bp/u0/ZXD.COM diff --git a/Source/Images/hd0/s0/u0/cp.bin b/Source/Images/d_bp/u0/cp.bin similarity index 100% rename from Source/Images/hd0/s0/u0/cp.bin rename to Source/Images/d_bp/u0/cp.bin diff --git a/Source/Images/hd0/s0/u0/nzcpr.zrl b/Source/Images/d_bp/u0/nzcpr.zrl similarity index 100% rename from Source/Images/hd0/s0/u0/nzcpr.zrl rename to Source/Images/d_bp/u0/nzcpr.zrl diff --git a/Source/Images/hd0/s0/u0/park.com b/Source/Images/d_bp/u0/park.com similarity index 100% rename from Source/Images/hd0/s0/u0/park.com rename to Source/Images/d_bp/u0/park.com diff --git a/Source/Images/hd0/s0/u0/spinup.com b/Source/Images/d_bp/u0/spinup.com similarity index 100% rename from Source/Images/hd0/s0/u0/spinup.com rename to Source/Images/d_bp/u0/spinup.com diff --git a/Source/Images/hd0/s0/u0/start.com b/Source/Images/d_bp/u0/start.com similarity index 100% rename from Source/Images/hd0/s0/u0/start.com rename to Source/Images/d_bp/u0/start.com diff --git a/Source/Images/hd0/s0/u0/z34.rel b/Source/Images/d_bp/u0/z34.rel similarity index 100% rename from Source/Images/hd0/s0/u0/z34.rel rename to Source/Images/d_bp/u0/z34.rel diff --git a/Source/Images/hd0/s0/u10/z40.hlp b/Source/Images/d_bp/u10/Z40.HLP similarity index 100% rename from Source/Images/hd0/s0/u10/z40.hlp rename to Source/Images/d_bp/u10/Z40.HLP diff --git a/Source/Images/hd0/s0/u10/z40a.hlp b/Source/Images/d_bp/u10/Z40A.HLP similarity index 100% rename from Source/Images/hd0/s0/u10/z40a.hlp rename to Source/Images/d_bp/u10/Z40A.HLP diff --git a/Source/Images/hd0/s0/u10/z40b.hlp b/Source/Images/d_bp/u10/Z40B.HLP similarity index 100% rename from Source/Images/hd0/s0/u10/z40b.hlp rename to Source/Images/d_bp/u10/Z40B.HLP diff --git a/Source/Images/hd0/s0/u10/z40c.hlp b/Source/Images/d_bp/u10/Z40C.HLP similarity index 100% rename from Source/Images/hd0/s0/u10/z40c.hlp rename to Source/Images/d_bp/u10/Z40C.HLP diff --git a/Source/Images/hd0/s0/u10/z40d.hlp b/Source/Images/d_bp/u10/Z40D.HLP similarity index 100% rename from Source/Images/hd0/s0/u10/z40d.hlp rename to Source/Images/d_bp/u10/Z40D.HLP diff --git a/Source/Images/hd0/s0/u10/z40e.hlp b/Source/Images/d_bp/u10/Z40E.HLP similarity index 100% rename from Source/Images/hd0/s0/u10/z40e.hlp rename to Source/Images/d_bp/u10/Z40E.HLP diff --git a/Source/Images/hd0/s0/u10/z40f.hlp b/Source/Images/d_bp/u10/Z40F.HLP similarity index 100% rename from Source/Images/hd0/s0/u10/z40f.hlp rename to Source/Images/d_bp/u10/Z40F.HLP diff --git a/Source/Images/hd0/s0/u10/z40g.hlp b/Source/Images/d_bp/u10/Z40G.HLP similarity index 100% rename from Source/Images/hd0/s0/u10/z40g.hlp rename to Source/Images/d_bp/u10/Z40G.HLP diff --git a/Source/Images/hd0/s0/u14/bpcnfg.cfg b/Source/Images/d_bp/u14/BPCNFG.CFG similarity index 100% rename from Source/Images/hd0/s0/u14/bpcnfg.cfg rename to Source/Images/d_bp/u14/BPCNFG.CFG diff --git a/Source/Images/hd0/s0/u14/bpformat.cfg b/Source/Images/d_bp/u14/BPFORMAT.CFG similarity index 100% rename from Source/Images/hd0/s0/u14/bpformat.cfg rename to Source/Images/d_bp/u14/BPFORMAT.CFG diff --git a/Source/Images/hd0/s0/u14/copy.cfg b/Source/Images/d_bp/u14/COPY.CFG similarity index 100% rename from Source/Images/hd0/s0/u14/copy.cfg rename to Source/Images/d_bp/u14/COPY.CFG diff --git a/Source/Images/hd0/s0/u14/emulate.cfg b/Source/Images/d_bp/u14/EMULATE.CFG similarity index 100% rename from Source/Images/hd0/s0/u14/emulate.cfg rename to Source/Images/d_bp/u14/EMULATE.CFG diff --git a/Source/Images/hd0/s0/u14/hdiag.cfg b/Source/Images/d_bp/u14/HDIAG.CFG similarity index 100% rename from Source/Images/hd0/s0/u14/hdiag.cfg rename to Source/Images/d_bp/u14/HDIAG.CFG diff --git a/Source/Images/hd0/s0/u14/iniramd.cfg b/Source/Images/d_bp/u14/INIRAMD.CFG similarity index 100% rename from Source/Images/hd0/s0/u14/iniramd.cfg rename to Source/Images/d_bp/u14/INIRAMD.CFG diff --git a/Source/Images/fd1/u0/INITDIR.CFG b/Source/Images/d_bp/u14/INITDIR.CFG similarity index 100% rename from Source/Images/fd1/u0/INITDIR.CFG rename to Source/Images/d_bp/u14/INITDIR.CFG diff --git a/Source/Images/hd0/s0/u14/ldsys.cfg b/Source/Images/d_bp/u14/LDSYS.CFG similarity index 100% rename from Source/Images/hd0/s0/u14/ldsys.cfg rename to Source/Images/d_bp/u14/LDSYS.CFG diff --git a/Source/Images/hd0/s0/u14/setclok.cfg b/Source/Images/d_bp/u14/SETCLOK.CFG similarity index 100% rename from Source/Images/hd0/s0/u14/setclok.cfg rename to Source/Images/d_bp/u14/SETCLOK.CFG diff --git a/Source/Images/hd0/s0/u14/tdd.cfg b/Source/Images/d_bp/u14/TDD.CFG similarity index 100% rename from Source/Images/hd0/s0/u14/tdd.cfg rename to Source/Images/d_bp/u14/TDD.CFG diff --git a/Source/Images/fd1/u0/ZXD.CFG b/Source/Images/d_bp/u14/ZXD.CFG similarity index 100% rename from Source/Images/fd1/u0/ZXD.CFG rename to Source/Images/d_bp/u14/ZXD.CFG diff --git a/Source/Images/hd0/s0/u15/00-INDEX.TXT b/Source/Images/d_bp/u15/00-INDEX.TXT similarity index 100% rename from Source/Images/hd0/s0/u15/00-INDEX.TXT rename to Source/Images/d_bp/u15/00-INDEX.TXT diff --git a/Source/Images/hd0/s0/u15/ALIAS-1.LBR b/Source/Images/d_bp/u15/ALIAS-1.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/ALIAS-1.LBR rename to Source/Images/d_bp/u15/ALIAS-1.LBR diff --git a/Source/Images/hd0/s0/u15/ALIAS-2.LBR b/Source/Images/d_bp/u15/ALIAS-2.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/ALIAS-2.LBR rename to Source/Images/d_bp/u15/ALIAS-2.LBR diff --git a/Source/Images/hd0/s0/u15/ALIAS.COM b/Source/Images/d_bp/u15/ALIAS.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ALIAS.COM rename to Source/Images/d_bp/u15/ALIAS.COM diff --git a/Source/Images/hd0/s0/u15/ALIAS.HLP b/Source/Images/d_bp/u15/ALIAS.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/ALIAS.HLP rename to Source/Images/d_bp/u15/ALIAS.HLP diff --git a/Source/Images/hd0/s0/u15/ALIAS.ZEX b/Source/Images/d_bp/u15/ALIAS.ZEX similarity index 100% rename from Source/Images/hd0/s0/u15/ALIAS.ZEX rename to Source/Images/d_bp/u15/ALIAS.ZEX diff --git a/Source/Images/hd0/s0/u15/ALIAS0.MAC b/Source/Images/d_bp/u15/ALIAS0.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/ALIAS0.MAC rename to Source/Images/d_bp/u15/ALIAS0.MAC diff --git a/Source/Images/hd0/s0/u15/ALIAS1.MAC b/Source/Images/d_bp/u15/ALIAS1.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/ALIAS1.MAC rename to Source/Images/d_bp/u15/ALIAS1.MAC diff --git a/Source/Images/hd0/s0/u15/CD.COM b/Source/Images/d_bp/u15/CD.COM similarity index 100% rename from Source/Images/hd0/s0/u15/CD.COM rename to Source/Images/d_bp/u15/CD.COM diff --git a/Source/Images/hd0/s0/u15/CD.MAC b/Source/Images/d_bp/u15/CD.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/CD.MAC rename to Source/Images/d_bp/u15/CD.MAC diff --git a/Source/Images/hd0/s0/u15/CLEAND15.LBR b/Source/Images/d_bp/u15/CLEAND15.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/CLEAND15.LBR rename to Source/Images/d_bp/u15/CLEAND15.LBR diff --git a/Source/Images/hd0/s0/u15/CLEANDIR.COM b/Source/Images/d_bp/u15/CLEANDIR.COM similarity index 100% rename from Source/Images/hd0/s0/u15/CLEANDIR.COM rename to Source/Images/d_bp/u15/CLEANDIR.COM diff --git a/Source/Images/hd0/s0/u15/CLEANDIR.MAC b/Source/Images/d_bp/u15/CLEANDIR.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/CLEANDIR.MAC rename to Source/Images/d_bp/u15/CLEANDIR.MAC diff --git a/Source/Images/hd0/s0/u15/CLNDR13B.LBR b/Source/Images/d_bp/u15/CLNDR13B.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/CLNDR13B.LBR rename to Source/Images/d_bp/u15/CLNDR13B.LBR diff --git a/Source/Images/hd0/s0/u15/CMD.COM b/Source/Images/d_bp/u15/CMD.COM similarity index 100% rename from Source/Images/hd0/s0/u15/CMD.COM rename to Source/Images/d_bp/u15/CMD.COM diff --git a/Source/Images/hd0/s0/u15/CMD.MAC b/Source/Images/d_bp/u15/CMD.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/CMD.MAC rename to Source/Images/d_bp/u15/CMD.MAC diff --git a/Source/Images/hd0/s0/u15/CMDFILES.HLP b/Source/Images/d_bp/u15/CMDFILES.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/CMDFILES.HLP rename to Source/Images/d_bp/u15/CMDFILES.HLP diff --git a/Source/Images/hd0/s0/u15/CMDRUN.COM b/Source/Images/d_bp/u15/CMDRUN.COM similarity index 100% rename from Source/Images/hd0/s0/u15/CMDRUN.COM rename to Source/Images/d_bp/u15/CMDRUN.COM diff --git a/Source/Images/hd0/s0/u15/CMDRUN.MAC b/Source/Images/d_bp/u15/CMDRUN.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/CMDRUN.MAC rename to Source/Images/d_bp/u15/CMDRUN.MAC diff --git a/Source/Images/hd0/s0/u15/COMMENT.COM b/Source/Images/d_bp/u15/COMMENT.COM similarity index 100% rename from Source/Images/hd0/s0/u15/COMMENT.COM rename to Source/Images/d_bp/u15/COMMENT.COM diff --git a/Source/Images/hd0/s0/u15/COMMENT.MAC b/Source/Images/d_bp/u15/COMMENT.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/COMMENT.MAC rename to Source/Images/d_bp/u15/COMMENT.MAC diff --git a/Source/Images/hd0/s0/u15/COMPARE.HLP b/Source/Images/d_bp/u15/COMPARE.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/COMPARE.HLP rename to Source/Images/d_bp/u15/COMPARE.HLP diff --git a/Source/Images/hd0/s0/u15/CPSEL.COM b/Source/Images/d_bp/u15/CPSEL.COM similarity index 100% rename from Source/Images/hd0/s0/u15/CPSEL.COM rename to Source/Images/d_bp/u15/CPSEL.COM diff --git a/Source/Images/hd0/s0/u15/CPSEL.MAC b/Source/Images/d_bp/u15/CPSEL.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/CPSEL.MAC rename to Source/Images/d_bp/u15/CPSEL.MAC diff --git a/Source/Images/hd0/s0/u15/CRC.COM b/Source/Images/d_bp/u15/CRC.COM similarity index 100% rename from Source/Images/hd0/s0/u15/CRC.COM rename to Source/Images/d_bp/u15/CRC.COM diff --git a/Source/Images/hd0/s0/u15/CRC.MAC b/Source/Images/d_bp/u15/CRC.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/CRC.MAC rename to Source/Images/d_bp/u15/CRC.MAC diff --git a/Source/Images/hd0/s0/u15/DBRCPREL.LBR b/Source/Images/d_bp/u15/DBRCPREL.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/DBRCPREL.LBR rename to Source/Images/d_bp/u15/DBRCPREL.LBR diff --git a/Source/Images/hd0/s0/u15/DEBUGRCP.AQM b/Source/Images/d_bp/u15/DEBUGRCP.AQM similarity index 100% rename from Source/Images/hd0/s0/u15/DEBUGRCP.AQM rename to Source/Images/d_bp/u15/DEBUGRCP.AQM diff --git a/Source/Images/hd0/s0/u15/DEBUGRCP.ASM b/Source/Images/d_bp/u15/DEBUGRCP.ASM similarity index 100% rename from Source/Images/hd0/s0/u15/DEBUGRCP.ASM rename to Source/Images/d_bp/u15/DEBUGRCP.ASM diff --git a/Source/Images/hd0/s0/u15/DEV.COM b/Source/Images/d_bp/u15/DEV.COM similarity index 100% rename from Source/Images/hd0/s0/u15/DEV.COM rename to Source/Images/d_bp/u15/DEV.COM diff --git a/Source/Images/hd0/s0/u15/DEV.MAC b/Source/Images/d_bp/u15/DEV.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/DEV.MAC rename to Source/Images/d_bp/u15/DEV.MAC diff --git a/Source/Images/hd0/s0/u15/DEV10.LBR b/Source/Images/d_bp/u15/DEV10.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/DEV10.LBR rename to Source/Images/d_bp/u15/DEV10.LBR diff --git a/Source/Images/hd0/s0/u15/DEVICE.COM b/Source/Images/d_bp/u15/DEVICE.COM similarity index 100% rename from Source/Images/hd0/s0/u15/DEVICE.COM rename to Source/Images/d_bp/u15/DEVICE.COM diff --git a/Source/Images/hd0/s0/u15/DEVICE.MAC b/Source/Images/d_bp/u15/DEVICE.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/DEVICE.MAC rename to Source/Images/d_bp/u15/DEVICE.MAC diff --git a/Source/Images/hd0/s0/u15/DEVICE10.LBR b/Source/Images/d_bp/u15/DEVICE10.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/DEVICE10.LBR rename to Source/Images/d_bp/u15/DEVICE10.LBR diff --git a/Source/Images/hd0/s0/u15/DIFF.COM b/Source/Images/d_bp/u15/DIFF.COM similarity index 100% rename from Source/Images/hd0/s0/u15/DIFF.COM rename to Source/Images/d_bp/u15/DIFF.COM diff --git a/Source/Images/hd0/s0/u15/DIFF.MAC b/Source/Images/d_bp/u15/DIFF.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/DIFF.MAC rename to Source/Images/d_bp/u15/DIFF.MAC diff --git a/Source/Images/hd0/s0/u15/DIFF21.LBR b/Source/Images/d_bp/u15/DIFF21.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/DIFF21.LBR rename to Source/Images/d_bp/u15/DIFF21.LBR diff --git a/Source/Images/hd0/s0/u15/DIR.COM b/Source/Images/d_bp/u15/DIR.COM similarity index 100% rename from Source/Images/hd0/s0/u15/DIR.COM rename to Source/Images/d_bp/u15/DIR.COM diff --git a/Source/Images/hd0/s0/u15/DIR.MAC b/Source/Images/d_bp/u15/DIR.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/DIR.MAC rename to Source/Images/d_bp/u15/DIR.MAC diff --git a/Source/Images/hd0/s0/u15/DIR14.LBR b/Source/Images/d_bp/u15/DIR14.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/DIR14.LBR rename to Source/Images/d_bp/u15/DIR14.LBR diff --git a/Source/Images/hd0/s0/u15/DIRS.HLP b/Source/Images/d_bp/u15/DIRS.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/DIRS.HLP rename to Source/Images/d_bp/u15/DIRS.HLP diff --git a/Source/Images/hd0/s0/u15/DPGFILE.LBR b/Source/Images/d_bp/u15/DPGFILE.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/DPGFILE.LBR rename to Source/Images/d_bp/u15/DPGFILE.LBR diff --git a/Source/Images/hd0/s0/u15/DPROG.COM b/Source/Images/d_bp/u15/DPROG.COM similarity index 100% rename from Source/Images/hd0/s0/u15/DPROG.COM rename to Source/Images/d_bp/u15/DPROG.COM diff --git a/Source/Images/hd0/s0/u15/DPROG.HLP b/Source/Images/d_bp/u15/DPROG.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/DPROG.HLP rename to Source/Images/d_bp/u15/DPROG.HLP diff --git a/Source/Images/hd0/s0/u15/DPROG.MAC b/Source/Images/d_bp/u15/DPROG.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/DPROG.MAC rename to Source/Images/d_bp/u15/DPROG.MAC diff --git a/Source/Images/hd0/s0/u15/DPROG12.LBR b/Source/Images/d_bp/u15/DPROG12.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/DPROG12.LBR rename to Source/Images/d_bp/u15/DPROG12.LBR diff --git a/Source/Images/hd0/s0/u15/DU3.COM b/Source/Images/d_bp/u15/DU3.COM similarity index 100% rename from Source/Images/hd0/s0/u15/DU3.COM rename to Source/Images/d_bp/u15/DU3.COM diff --git a/Source/Images/hd0/s0/u15/DU3.HLP b/Source/Images/d_bp/u15/DU3.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/DU3.HLP rename to Source/Images/d_bp/u15/DU3.HLP diff --git a/Source/Images/hd0/s0/u15/DU3.MAC b/Source/Images/d_bp/u15/DU3.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/DU3.MAC rename to Source/Images/d_bp/u15/DU3.MAC diff --git a/Source/Images/hd0/s0/u15/DU312.LBR b/Source/Images/d_bp/u15/DU312.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/DU312.LBR rename to Source/Images/d_bp/u15/DU312.LBR diff --git a/Source/Images/hd0/s0/u15/ECHO.COM b/Source/Images/d_bp/u15/ECHO.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ECHO.COM rename to Source/Images/d_bp/u15/ECHO.COM diff --git a/Source/Images/hd0/s0/u15/ECHO.MAC b/Source/Images/d_bp/u15/ECHO.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/ECHO.MAC rename to Source/Images/d_bp/u15/ECHO.MAC diff --git a/Source/Images/hd0/s0/u15/ERASE.COM b/Source/Images/d_bp/u15/ERASE.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ERASE.COM rename to Source/Images/d_bp/u15/ERASE.COM diff --git a/Source/Images/hd0/s0/u15/ERASE.MAC b/Source/Images/d_bp/u15/ERASE.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/ERASE.MAC rename to Source/Images/d_bp/u15/ERASE.MAC diff --git a/Source/Images/hd0/s0/u15/ERROR1.COM b/Source/Images/d_bp/u15/ERROR1.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ERROR1.COM rename to Source/Images/d_bp/u15/ERROR1.COM diff --git a/Source/Images/hd0/s0/u15/ERROR1.MAC b/Source/Images/d_bp/u15/ERROR1.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/ERROR1.MAC rename to Source/Images/d_bp/u15/ERROR1.MAC diff --git a/Source/Images/hd0/s0/u15/ERROR2.COM b/Source/Images/d_bp/u15/ERROR2.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ERROR2.COM rename to Source/Images/d_bp/u15/ERROR2.COM diff --git a/Source/Images/hd0/s0/u15/ERROR2.MAC b/Source/Images/d_bp/u15/ERROR2.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/ERROR2.MAC rename to Source/Images/d_bp/u15/ERROR2.MAC diff --git a/Source/Images/hd0/s0/u15/ERROR3.COM b/Source/Images/d_bp/u15/ERROR3.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ERROR3.COM rename to Source/Images/d_bp/u15/ERROR3.COM diff --git a/Source/Images/hd0/s0/u15/ERROR3.MAC b/Source/Images/d_bp/u15/ERROR3.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/ERROR3.MAC rename to Source/Images/d_bp/u15/ERROR3.MAC diff --git a/Source/Images/hd0/s0/u15/ERROR4.COM b/Source/Images/d_bp/u15/ERROR4.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ERROR4.COM rename to Source/Images/d_bp/u15/ERROR4.COM diff --git a/Source/Images/hd0/s0/u15/ERROR4.MAC b/Source/Images/d_bp/u15/ERROR4.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/ERROR4.MAC rename to Source/Images/d_bp/u15/ERROR4.MAC diff --git a/Source/Images/hd0/s0/u15/ERRORX.COM b/Source/Images/d_bp/u15/ERRORX.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ERRORX.COM rename to Source/Images/d_bp/u15/ERRORX.COM diff --git a/Source/Images/hd0/s0/u15/ERRORX.MAC b/Source/Images/d_bp/u15/ERRORX.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/ERRORX.MAC rename to Source/Images/d_bp/u15/ERRORX.MAC diff --git a/Source/Images/hd0/s0/u15/FILES.BBS b/Source/Images/d_bp/u15/FILES.BBS similarity index 100% rename from Source/Images/hd0/s0/u15/FILES.BBS rename to Source/Images/d_bp/u15/FILES.BBS diff --git a/Source/Images/hd0/s0/u15/FINDF.COM b/Source/Images/d_bp/u15/FINDF.COM similarity index 100% rename from Source/Images/hd0/s0/u15/FINDF.COM rename to Source/Images/d_bp/u15/FINDF.COM diff --git a/Source/Images/hd0/s0/u15/FINDF.MAC b/Source/Images/d_bp/u15/FINDF.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/FINDF.MAC rename to Source/Images/d_bp/u15/FINDF.MAC diff --git a/Source/Images/hd0/s0/u15/FINDF26.LBR b/Source/Images/d_bp/u15/FINDF26.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/FINDF26.LBR rename to Source/Images/d_bp/u15/FINDF26.LBR diff --git a/Source/Images/hd0/s0/u15/FINDF26A.LBR b/Source/Images/d_bp/u15/FINDF26A.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/FINDF26A.LBR rename to Source/Images/d_bp/u15/FINDF26A.LBR diff --git a/Source/Images/hd0/s0/u15/GOTO.COM b/Source/Images/d_bp/u15/GOTO.COM similarity index 100% rename from Source/Images/hd0/s0/u15/GOTO.COM rename to Source/Images/d_bp/u15/GOTO.COM diff --git a/Source/Images/hd0/s0/u15/GOTO.MAC b/Source/Images/d_bp/u15/GOTO.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/GOTO.MAC rename to Source/Images/d_bp/u15/GOTO.MAC diff --git a/Source/Images/hd0/s0/u15/GRDEMO.LBR b/Source/Images/d_bp/u15/GRDEMO.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/GRDEMO.LBR rename to Source/Images/d_bp/u15/GRDEMO.LBR diff --git a/Source/Images/hd0/s0/u15/HELP.COM b/Source/Images/d_bp/u15/HELP.COM similarity index 100% rename from Source/Images/hd0/s0/u15/HELP.COM rename to Source/Images/d_bp/u15/HELP.COM diff --git a/Source/Images/hd0/s0/u15/HELP.HLP b/Source/Images/d_bp/u15/HELP.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/HELP.HLP rename to Source/Images/d_bp/u15/HELP.HLP diff --git a/Source/Images/hd0/s0/u15/HELP.MAC b/Source/Images/d_bp/u15/HELP.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/HELP.MAC rename to Source/Images/d_bp/u15/HELP.MAC diff --git a/Source/Images/hd0/s0/u15/HELPCK.COM b/Source/Images/d_bp/u15/HELPCK.COM similarity index 100% rename from Source/Images/hd0/s0/u15/HELPCK.COM rename to Source/Images/d_bp/u15/HELPCK.COM diff --git a/Source/Images/hd0/s0/u15/HELPCK.MAC b/Source/Images/d_bp/u15/HELPCK.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/HELPCK.MAC rename to Source/Images/d_bp/u15/HELPCK.MAC diff --git a/Source/Images/hd0/s0/u15/HELPPR.COM b/Source/Images/d_bp/u15/HELPPR.COM similarity index 100% rename from Source/Images/hd0/s0/u15/HELPPR.COM rename to Source/Images/d_bp/u15/HELPPR.COM diff --git a/Source/Images/hd0/s0/u15/HELPPR.MAC b/Source/Images/d_bp/u15/HELPPR.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/HELPPR.MAC rename to Source/Images/d_bp/u15/HELPPR.MAC diff --git a/Source/Images/hd0/s0/u15/HELPSYS.HLP b/Source/Images/d_bp/u15/HELPSYS.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/HELPSYS.HLP rename to Source/Images/d_bp/u15/HELPSYS.HLP diff --git a/Source/Images/hd0/s0/u15/IF.COM b/Source/Images/d_bp/u15/IF.COM similarity index 100% rename from Source/Images/hd0/s0/u15/IF.COM rename to Source/Images/d_bp/u15/IF.COM diff --git a/Source/Images/hd0/s0/u15/IF.HLP b/Source/Images/d_bp/u15/IF.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/IF.HLP rename to Source/Images/d_bp/u15/IF.HLP diff --git a/Source/Images/hd0/s0/u15/IF.MAC b/Source/Images/d_bp/u15/IF.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/IF.MAC rename to Source/Images/d_bp/u15/IF.MAC diff --git a/Source/Images/hd0/s0/u15/IFSTAT.COM b/Source/Images/d_bp/u15/IFSTAT.COM similarity index 100% rename from Source/Images/hd0/s0/u15/IFSTAT.COM rename to Source/Images/d_bp/u15/IFSTAT.COM diff --git a/Source/Images/hd0/s0/u15/IFSTAT.MAC b/Source/Images/d_bp/u15/IFSTAT.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/IFSTAT.MAC rename to Source/Images/d_bp/u15/IFSTAT.MAC diff --git a/Source/Images/hd0/s0/u15/IO.HLP b/Source/Images/d_bp/u15/IO.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/IO.HLP rename to Source/Images/d_bp/u15/IO.HLP diff --git a/Source/Images/hd0/s0/u15/LDR-UPD.COM b/Source/Images/d_bp/u15/LDR-UPD.COM similarity index 100% rename from Source/Images/hd0/s0/u15/LDR-UPD.COM rename to Source/Images/d_bp/u15/LDR-UPD.COM diff --git a/Source/Images/hd0/s0/u15/LDR-UPD.MSG b/Source/Images/d_bp/u15/LDR-UPD.MSG similarity index 100% rename from Source/Images/hd0/s0/u15/LDR-UPD.MSG rename to Source/Images/d_bp/u15/LDR-UPD.MSG diff --git a/Source/Images/hd0/s0/u15/LDR.COM b/Source/Images/d_bp/u15/LDR.COM similarity index 100% rename from Source/Images/hd0/s0/u15/LDR.COM rename to Source/Images/d_bp/u15/LDR.COM diff --git a/Source/Images/hd0/s0/u15/LDR.MAC b/Source/Images/d_bp/u15/LDR.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/LDR.MAC rename to Source/Images/d_bp/u15/LDR.MAC diff --git a/Source/Images/hd0/s0/u15/LDR15.LBR b/Source/Images/d_bp/u15/LDR15.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/LDR15.LBR rename to Source/Images/d_bp/u15/LDR15.LBR diff --git a/Source/Images/hd0/s0/u15/LGET11.LBR b/Source/Images/d_bp/u15/LGET11.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/LGET11.LBR rename to Source/Images/d_bp/u15/LGET11.LBR diff --git a/Source/Images/hd0/s0/u15/LLF11.LBR b/Source/Images/d_bp/u15/LLF11.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/LLF11.LBR rename to Source/Images/d_bp/u15/LLF11.LBR diff --git a/Source/Images/hd0/s0/u15/LUZ3.LBR b/Source/Images/d_bp/u15/LUZ3.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/LUZ3.LBR rename to Source/Images/d_bp/u15/LUZ3.LBR diff --git a/Source/Images/hd0/s0/u15/LX12.LBR b/Source/Images/d_bp/u15/LX12.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/LX12.LBR rename to Source/Images/d_bp/u15/LX12.LBR diff --git a/Source/Images/hd0/s0/u15/LX14.LBR b/Source/Images/d_bp/u15/LX14.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/LX14.LBR rename to Source/Images/d_bp/u15/LX14.LBR diff --git a/Source/Images/hd0/s0/u15/MCOPY.COM b/Source/Images/d_bp/u15/MCOPY.COM similarity index 100% rename from Source/Images/hd0/s0/u15/MCOPY.COM rename to Source/Images/d_bp/u15/MCOPY.COM diff --git a/Source/Images/hd0/s0/u15/MCOPY.MAC b/Source/Images/d_bp/u15/MCOPY.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/MCOPY.MAC rename to Source/Images/d_bp/u15/MCOPY.MAC diff --git a/Source/Images/hd0/s0/u15/MCOPY44.LBR b/Source/Images/d_bp/u15/MCOPY44.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/MCOPY44.LBR rename to Source/Images/d_bp/u15/MCOPY44.LBR diff --git a/Source/Images/hd0/s0/u15/MCOPY45B.LBR b/Source/Images/d_bp/u15/MCOPY45B.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/MCOPY45B.LBR rename to Source/Images/d_bp/u15/MCOPY45B.LBR diff --git a/Source/Images/hd0/s0/u15/MENU.COM b/Source/Images/d_bp/u15/MENU.COM similarity index 100% rename from Source/Images/hd0/s0/u15/MENU.COM rename to Source/Images/d_bp/u15/MENU.COM diff --git a/Source/Images/hd0/s0/u15/MENU.HLP b/Source/Images/d_bp/u15/MENU.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/MENU.HLP rename to Source/Images/d_bp/u15/MENU.HLP diff --git a/Source/Images/hd0/s0/u15/MENU.MAC b/Source/Images/d_bp/u15/MENU.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/MENU.MAC rename to Source/Images/d_bp/u15/MENU.MAC diff --git a/Source/Images/hd0/s0/u15/MENUCK.COM b/Source/Images/d_bp/u15/MENUCK.COM similarity index 100% rename from Source/Images/hd0/s0/u15/MENUCK.COM rename to Source/Images/d_bp/u15/MENUCK.COM diff --git a/Source/Images/hd0/s0/u15/MENUCK.MAC b/Source/Images/d_bp/u15/MENUCK.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/MENUCK.MAC rename to Source/Images/d_bp/u15/MENUCK.MAC diff --git a/Source/Images/hd0/s0/u15/MKDIR.COM b/Source/Images/d_bp/u15/MKDIR.COM similarity index 100% rename from Source/Images/hd0/s0/u15/MKDIR.COM rename to Source/Images/d_bp/u15/MKDIR.COM diff --git a/Source/Images/hd0/s0/u15/MKDIR.MAC b/Source/Images/d_bp/u15/MKDIR.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/MKDIR.MAC rename to Source/Images/d_bp/u15/MKDIR.MAC diff --git a/Source/Images/hd0/s0/u15/MU3.COM b/Source/Images/d_bp/u15/MU3.COM similarity index 100% rename from Source/Images/hd0/s0/u15/MU3.COM rename to Source/Images/d_bp/u15/MU3.COM diff --git a/Source/Images/hd0/s0/u15/MU3.HLP b/Source/Images/d_bp/u15/MU3.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/MU3.HLP rename to Source/Images/d_bp/u15/MU3.HLP diff --git a/Source/Images/hd0/s0/u15/MU3.MAC b/Source/Images/d_bp/u15/MU3.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/MU3.MAC rename to Source/Images/d_bp/u15/MU3.MAC diff --git a/Source/Images/hd0/s0/u15/NDIRS.HLP b/Source/Images/d_bp/u15/NDIRS.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/NDIRS.HLP rename to Source/Images/d_bp/u15/NDIRS.HLP diff --git a/Source/Images/hd0/s0/u15/NEWTCAP.Z80 b/Source/Images/d_bp/u15/NEWTCAP.Z80 similarity index 100% rename from Source/Images/hd0/s0/u15/NEWTCAP.Z80 rename to Source/Images/d_bp/u15/NEWTCAP.Z80 diff --git a/Source/Images/hd0/s0/u15/NOTE.COM b/Source/Images/d_bp/u15/NOTE.COM similarity index 100% rename from Source/Images/hd0/s0/u15/NOTE.COM rename to Source/Images/d_bp/u15/NOTE.COM diff --git a/Source/Images/hd0/s0/u15/NOTE.MAC b/Source/Images/d_bp/u15/NOTE.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/NOTE.MAC rename to Source/Images/d_bp/u15/NOTE.MAC diff --git a/Source/Images/hd0/s0/u15/PAGE.COM b/Source/Images/d_bp/u15/PAGE.COM similarity index 100% rename from Source/Images/hd0/s0/u15/PAGE.COM rename to Source/Images/d_bp/u15/PAGE.COM diff --git a/Source/Images/hd0/s0/u15/PAGE.MAC b/Source/Images/d_bp/u15/PAGE.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/PAGE.MAC rename to Source/Images/d_bp/u15/PAGE.MAC diff --git a/Source/Images/hd0/s0/u15/PATH.COM b/Source/Images/d_bp/u15/PATH.COM similarity index 100% rename from Source/Images/hd0/s0/u15/PATH.COM rename to Source/Images/d_bp/u15/PATH.COM diff --git a/Source/Images/hd0/s0/u15/PATH.MAC b/Source/Images/d_bp/u15/PATH.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/PATH.MAC rename to Source/Images/d_bp/u15/PATH.MAC diff --git a/Source/Images/hd0/s0/u15/PATH31.LBR b/Source/Images/d_bp/u15/PATH31.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/PATH31.LBR rename to Source/Images/d_bp/u15/PATH31.LBR diff --git a/Source/Images/hd0/s0/u15/PPAL.DOC b/Source/Images/d_bp/u15/PPAL.DOC similarity index 100% rename from Source/Images/hd0/s0/u15/PPAL.DOC rename to Source/Images/d_bp/u15/PPAL.DOC diff --git a/Source/Images/hd0/s0/u15/PRINT.COM b/Source/Images/d_bp/u15/PRINT.COM similarity index 100% rename from Source/Images/hd0/s0/u15/PRINT.COM rename to Source/Images/d_bp/u15/PRINT.COM diff --git a/Source/Images/hd0/s0/u15/PRINT.MAC b/Source/Images/d_bp/u15/PRINT.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/PRINT.MAC rename to Source/Images/d_bp/u15/PRINT.MAC diff --git a/Source/Images/hd0/s0/u15/PRINTHLP.LBR b/Source/Images/d_bp/u15/PRINTHLP.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/PRINTHLP.LBR rename to Source/Images/d_bp/u15/PRINTHLP.LBR diff --git a/Source/Images/hd0/s0/u15/PROTECT.COM b/Source/Images/d_bp/u15/PROTECT.COM similarity index 100% rename from Source/Images/hd0/s0/u15/PROTECT.COM rename to Source/Images/d_bp/u15/PROTECT.COM diff --git a/Source/Images/hd0/s0/u15/PROTECT.MAC b/Source/Images/d_bp/u15/PROTECT.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/PROTECT.MAC rename to Source/Images/d_bp/u15/PROTECT.MAC diff --git a/Source/Images/hd0/s0/u15/PWD.COM b/Source/Images/d_bp/u15/PWD.COM similarity index 100% rename from Source/Images/hd0/s0/u15/PWD.COM rename to Source/Images/d_bp/u15/PWD.COM diff --git a/Source/Images/hd0/s0/u15/PWD.MAC b/Source/Images/d_bp/u15/PWD.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/PWD.MAC rename to Source/Images/d_bp/u15/PWD.MAC diff --git a/Source/Images/hd0/s0/u15/QUIET.COM b/Source/Images/d_bp/u15/QUIET.COM similarity index 100% rename from Source/Images/hd0/s0/u15/QUIET.COM rename to Source/Images/d_bp/u15/QUIET.COM diff --git a/Source/Images/hd0/s0/u15/QUIET.MAC b/Source/Images/d_bp/u15/QUIET.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/QUIET.MAC rename to Source/Images/d_bp/u15/QUIET.MAC diff --git a/Source/Images/hd0/s0/u15/READ.ME b/Source/Images/d_bp/u15/READ.ME similarity index 100% rename from Source/Images/hd0/s0/u15/READ.ME rename to Source/Images/d_bp/u15/READ.ME diff --git a/Source/Images/hd0/s0/u15/RECORD.COM b/Source/Images/d_bp/u15/RECORD.COM similarity index 100% rename from Source/Images/hd0/s0/u15/RECORD.COM rename to Source/Images/d_bp/u15/RECORD.COM diff --git a/Source/Images/hd0/s0/u15/RECORD.MAC b/Source/Images/d_bp/u15/RECORD.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/RECORD.MAC rename to Source/Images/d_bp/u15/RECORD.MAC diff --git a/Source/Images/hd0/s0/u15/REG.COM b/Source/Images/d_bp/u15/REG.COM similarity index 100% rename from Source/Images/hd0/s0/u15/REG.COM rename to Source/Images/d_bp/u15/REG.COM diff --git a/Source/Images/hd0/s0/u15/REG.MAC b/Source/Images/d_bp/u15/REG.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/REG.MAC rename to Source/Images/d_bp/u15/REG.MAC diff --git a/Source/Images/hd0/s0/u15/RENAME.COM b/Source/Images/d_bp/u15/RENAME.COM similarity index 100% rename from Source/Images/hd0/s0/u15/RENAME.COM rename to Source/Images/d_bp/u15/RENAME.COM diff --git a/Source/Images/hd0/s0/u15/RENAME.MAC b/Source/Images/d_bp/u15/RENAME.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/RENAME.MAC rename to Source/Images/d_bp/u15/RENAME.MAC diff --git a/Source/Images/hd0/s0/u15/RENAME31.LBR b/Source/Images/d_bp/u15/RENAME31.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/RENAME31.LBR rename to Source/Images/d_bp/u15/RENAME31.LBR diff --git a/Source/Images/hd0/s0/u15/SAK.COM b/Source/Images/d_bp/u15/SAK.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SAK.COM rename to Source/Images/d_bp/u15/SAK.COM diff --git a/Source/Images/hd0/s0/u15/SAK.MAC b/Source/Images/d_bp/u15/SAK.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/SAK.MAC rename to Source/Images/d_bp/u15/SAK.MAC diff --git a/Source/Images/hd0/s0/u15/SETFILE.COM b/Source/Images/d_bp/u15/SETFILE.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SETFILE.COM rename to Source/Images/d_bp/u15/SETFILE.COM diff --git a/Source/Images/hd0/s0/u15/SETFILE.MAC b/Source/Images/d_bp/u15/SETFILE.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/SETFILE.MAC rename to Source/Images/d_bp/u15/SETFILE.MAC diff --git a/Source/Images/hd0/s0/u15/SF.COM b/Source/Images/d_bp/u15/SF.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SF.COM rename to Source/Images/d_bp/u15/SF.COM diff --git a/Source/Images/hd0/s0/u15/SF.Z80 b/Source/Images/d_bp/u15/SF.Z80 similarity index 100% rename from Source/Images/hd0/s0/u15/SF.Z80 rename to Source/Images/d_bp/u15/SF.Z80 diff --git a/Source/Images/hd0/s0/u15/SH.COM b/Source/Images/d_bp/u15/SH.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SH.COM rename to Source/Images/d_bp/u15/SH.COM diff --git a/Source/Images/hd0/s0/u15/SH.HLP b/Source/Images/d_bp/u15/SH.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/SH.HLP rename to Source/Images/d_bp/u15/SH.HLP diff --git a/Source/Images/hd0/s0/u15/SH.MAC b/Source/Images/d_bp/u15/SH.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/SH.MAC rename to Source/Images/d_bp/u15/SH.MAC diff --git a/Source/Images/hd0/s0/u15/SH11.LBR b/Source/Images/d_bp/u15/SH11.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/SH11.LBR rename to Source/Images/d_bp/u15/SH11.LBR diff --git a/Source/Images/hd0/s0/u15/SHCTRL.COM b/Source/Images/d_bp/u15/SHCTRL.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SHCTRL.COM rename to Source/Images/d_bp/u15/SHCTRL.COM diff --git a/Source/Images/hd0/s0/u15/SHCTRL.MAC b/Source/Images/d_bp/u15/SHCTRL.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/SHCTRL.MAC rename to Source/Images/d_bp/u15/SHCTRL.MAC diff --git a/Source/Images/hd0/s0/u15/SHDEFINE.COM b/Source/Images/d_bp/u15/SHDEFINE.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SHDEFINE.COM rename to Source/Images/d_bp/u15/SHDEFINE.COM diff --git a/Source/Images/hd0/s0/u15/SHDEFINE.MAC b/Source/Images/d_bp/u15/SHDEFINE.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/SHDEFINE.MAC rename to Source/Images/d_bp/u15/SHDEFINE.MAC diff --git a/Source/Images/hd0/s0/u15/SHFILE.COM b/Source/Images/d_bp/u15/SHFILE.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SHFILE.COM rename to Source/Images/d_bp/u15/SHFILE.COM diff --git a/Source/Images/hd0/s0/u15/SHFILE.MAC b/Source/Images/d_bp/u15/SHFILE.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/SHFILE.MAC rename to Source/Images/d_bp/u15/SHFILE.MAC diff --git a/Source/Images/hd0/s0/u15/SHOW.COM b/Source/Images/d_bp/u15/SHOW.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SHOW.COM rename to Source/Images/d_bp/u15/SHOW.COM diff --git a/Source/Images/hd0/s0/u15/SHOW.MAC b/Source/Images/d_bp/u15/SHOW.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/SHOW.MAC rename to Source/Images/d_bp/u15/SHOW.MAC diff --git a/Source/Images/hd0/s0/u15/SHSET.COM b/Source/Images/d_bp/u15/SHSET.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SHSET.COM rename to Source/Images/d_bp/u15/SHSET.COM diff --git a/Source/Images/hd0/s0/u15/SHSET.MAC b/Source/Images/d_bp/u15/SHSET.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/SHSET.MAC rename to Source/Images/d_bp/u15/SHSET.MAC diff --git a/Source/Images/hd0/s0/u15/SHUTILS2.LBR b/Source/Images/d_bp/u15/SHUTILS2.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/SHUTILS2.LBR rename to Source/Images/d_bp/u15/SHUTILS2.LBR diff --git a/Source/Images/hd0/s0/u15/SHVAR.COM b/Source/Images/d_bp/u15/SHVAR.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SHVAR.COM rename to Source/Images/d_bp/u15/SHVAR.COM diff --git a/Source/Images/hd0/s0/u15/SHVAR.MAC b/Source/Images/d_bp/u15/SHVAR.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/SHVAR.MAC rename to Source/Images/d_bp/u15/SHVAR.MAC diff --git a/Source/Images/hd0/s0/u15/SHVAR11.LBR b/Source/Images/d_bp/u15/SHVAR11.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/SHVAR11.LBR rename to Source/Images/d_bp/u15/SHVAR11.LBR diff --git a/Source/Images/hd0/s0/u15/SUB.COM b/Source/Images/d_bp/u15/SUB.COM similarity index 100% rename from Source/Images/hd0/s0/u15/SUB.COM rename to Source/Images/d_bp/u15/SUB.COM diff --git a/Source/Images/hd0/s0/u15/SUB.MAC b/Source/Images/d_bp/u15/SUB.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/SUB.MAC rename to Source/Images/d_bp/u15/SUB.MAC diff --git a/Source/Images/hd0/s0/u15/SYSENV.AQM b/Source/Images/d_bp/u15/SYSENV.AQM similarity index 100% rename from Source/Images/hd0/s0/u15/SYSENV.AQM rename to Source/Images/d_bp/u15/SYSENV.AQM diff --git a/Source/Images/hd0/s0/u15/SYSENV.ASM b/Source/Images/d_bp/u15/SYSENV.ASM similarity index 100% rename from Source/Images/hd0/s0/u15/SYSENV.ASM rename to Source/Images/d_bp/u15/SYSENV.ASM diff --git a/Source/Images/hd0/s0/u15/SYSENV.LIB b/Source/Images/d_bp/u15/SYSENV.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/SYSENV.LIB rename to Source/Images/d_bp/u15/SYSENV.LIB diff --git a/Source/Images/hd0/s0/u15/SYSFCP.AQM b/Source/Images/d_bp/u15/SYSFCP.AQM similarity index 100% rename from Source/Images/hd0/s0/u15/SYSFCP.AQM rename to Source/Images/d_bp/u15/SYSFCP.AQM diff --git a/Source/Images/hd0/s0/u15/SYSFCP.ASM b/Source/Images/d_bp/u15/SYSFCP.ASM similarity index 100% rename from Source/Images/hd0/s0/u15/SYSFCP.ASM rename to Source/Images/d_bp/u15/SYSFCP.ASM diff --git a/Source/Images/hd0/s0/u15/SYSFCP1.LIB b/Source/Images/d_bp/u15/SYSFCP1.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/SYSFCP1.LIB rename to Source/Images/d_bp/u15/SYSFCP1.LIB diff --git a/Source/Images/hd0/s0/u15/SYSFCP11.LBR b/Source/Images/d_bp/u15/SYSFCP11.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/SYSFCP11.LBR rename to Source/Images/d_bp/u15/SYSFCP11.LBR diff --git a/Source/Images/hd0/s0/u15/SYSFCP2.LIB b/Source/Images/d_bp/u15/SYSFCP2.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/SYSFCP2.LIB rename to Source/Images/d_bp/u15/SYSFCP2.LIB diff --git a/Source/Images/hd0/s0/u15/SYSIOP.AQM b/Source/Images/d_bp/u15/SYSIOP.AQM similarity index 100% rename from Source/Images/hd0/s0/u15/SYSIOP.AQM rename to Source/Images/d_bp/u15/SYSIOP.AQM diff --git a/Source/Images/hd0/s0/u15/SYSIOP.ASM b/Source/Images/d_bp/u15/SYSIOP.ASM similarity index 100% rename from Source/Images/hd0/s0/u15/SYSIOP.ASM rename to Source/Images/d_bp/u15/SYSIOP.ASM diff --git a/Source/Images/hd0/s0/u15/SYSNDR.AQM b/Source/Images/d_bp/u15/SYSNDR.AQM similarity index 100% rename from Source/Images/hd0/s0/u15/SYSNDR.AQM rename to Source/Images/d_bp/u15/SYSNDR.AQM diff --git a/Source/Images/hd0/s0/u15/SYSNDR.ASM b/Source/Images/d_bp/u15/SYSNDR.ASM similarity index 100% rename from Source/Images/hd0/s0/u15/SYSNDR.ASM rename to Source/Images/d_bp/u15/SYSNDR.ASM diff --git a/Source/Images/hd0/s0/u15/SYSNDR.LIB b/Source/Images/d_bp/u15/SYSNDR.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/SYSNDR.LIB rename to Source/Images/d_bp/u15/SYSNDR.LIB diff --git a/Source/Images/hd0/s0/u15/SYSRCP.AQM b/Source/Images/d_bp/u15/SYSRCP.AQM similarity index 100% rename from Source/Images/hd0/s0/u15/SYSRCP.AQM rename to Source/Images/d_bp/u15/SYSRCP.AQM diff --git a/Source/Images/hd0/s0/u15/SYSRCP.ASM b/Source/Images/d_bp/u15/SYSRCP.ASM similarity index 100% rename from Source/Images/hd0/s0/u15/SYSRCP.ASM rename to Source/Images/d_bp/u15/SYSRCP.ASM diff --git a/Source/Images/hd0/s0/u15/SYSRCP.HLP b/Source/Images/d_bp/u15/SYSRCP.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/SYSRCP.HLP rename to Source/Images/d_bp/u15/SYSRCP.HLP diff --git a/Source/Images/hd0/s0/u15/SYSRCP1.LIB b/Source/Images/d_bp/u15/SYSRCP1.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/SYSRCP1.LIB rename to Source/Images/d_bp/u15/SYSRCP1.LIB diff --git a/Source/Images/hd0/s0/u15/SYSRCP11.LBR b/Source/Images/d_bp/u15/SYSRCP11.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/SYSRCP11.LBR rename to Source/Images/d_bp/u15/SYSRCP11.LBR diff --git a/Source/Images/hd0/s0/u15/SYSRCP2.LIB b/Source/Images/d_bp/u15/SYSRCP2.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/SYSRCP2.LIB rename to Source/Images/d_bp/u15/SYSRCP2.LIB diff --git a/Source/Images/hd0/s0/u15/SYSRCP3.LIB b/Source/Images/d_bp/u15/SYSRCP3.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/SYSRCP3.LIB rename to Source/Images/d_bp/u15/SYSRCP3.LIB diff --git a/Source/Images/hd0/s0/u15/SYSRCP4.LIB b/Source/Images/d_bp/u15/SYSRCP4.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/SYSRCP4.LIB rename to Source/Images/d_bp/u15/SYSRCP4.LIB diff --git a/Source/Images/hd0/s0/u15/T3M-HI2.Z80 b/Source/Images/d_bp/u15/T3M-HI2.Z80 similarity index 100% rename from Source/Images/hd0/s0/u15/T3M-HI2.Z80 rename to Source/Images/d_bp/u15/T3M-HI2.Z80 diff --git a/Source/Images/hd0/s0/u15/T3T-24-1.Z80 b/Source/Images/d_bp/u15/T3T-24-1.Z80 similarity index 100% rename from Source/Images/hd0/s0/u15/T3T-24-1.Z80 rename to Source/Images/d_bp/u15/T3T-24-1.Z80 diff --git a/Source/Images/hd0/s0/u15/TCCHECK.COM b/Source/Images/d_bp/u15/TCCHECK.COM similarity index 100% rename from Source/Images/hd0/s0/u15/TCCHECK.COM rename to Source/Images/d_bp/u15/TCCHECK.COM diff --git a/Source/Images/hd0/s0/u15/TCCHECK.MAC b/Source/Images/d_bp/u15/TCCHECK.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/TCCHECK.MAC rename to Source/Images/d_bp/u15/TCCHECK.MAC diff --git a/Source/Images/hd0/s0/u15/TCMAKE.COM b/Source/Images/d_bp/u15/TCMAKE.COM similarity index 100% rename from Source/Images/hd0/s0/u15/TCMAKE.COM rename to Source/Images/d_bp/u15/TCMAKE.COM diff --git a/Source/Images/hd0/s0/u15/TCMAKE.MAC b/Source/Images/d_bp/u15/TCMAKE.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/TCMAKE.MAC rename to Source/Images/d_bp/u15/TCMAKE.MAC diff --git a/Source/Images/hd0/s0/u15/TCSEL32.COM b/Source/Images/d_bp/u15/TCSEL32.COM similarity index 100% rename from Source/Images/hd0/s0/u15/TCSEL32.COM rename to Source/Images/d_bp/u15/TCSEL32.COM diff --git a/Source/Images/hd0/s0/u15/TCSELECT.COM b/Source/Images/d_bp/u15/TCSELECT.COM similarity index 100% rename from Source/Images/hd0/s0/u15/TCSELECT.COM rename to Source/Images/d_bp/u15/TCSELECT.COM diff --git a/Source/Images/hd0/s0/u15/TCSELECT.MAC b/Source/Images/d_bp/u15/TCSELECT.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/TCSELECT.MAC rename to Source/Images/d_bp/u15/TCSELECT.MAC diff --git a/Source/Images/hd0/s0/u15/TCSRC14.COM b/Source/Images/d_bp/u15/TCSRC14.COM similarity index 100% rename from Source/Images/hd0/s0/u15/TCSRC14.COM rename to Source/Images/d_bp/u15/TCSRC14.COM diff --git a/Source/Images/hd0/s0/u15/TCVIEW.COM b/Source/Images/d_bp/u15/TCVIEW.COM similarity index 100% rename from Source/Images/hd0/s0/u15/TCVIEW.COM rename to Source/Images/d_bp/u15/TCVIEW.COM diff --git a/Source/Images/hd0/s0/u15/TCVIEW20.COM b/Source/Images/d_bp/u15/TCVIEW20.COM similarity index 100% rename from Source/Images/hd0/s0/u15/TCVIEW20.COM rename to Source/Images/d_bp/u15/TCVIEW20.COM diff --git a/Source/Images/hd0/s0/u15/UNERASE.COM b/Source/Images/d_bp/u15/UNERASE.COM similarity index 100% rename from Source/Images/hd0/s0/u15/UNERASE.COM rename to Source/Images/d_bp/u15/UNERASE.COM diff --git a/Source/Images/hd0/s0/u15/UNERASE.MAC b/Source/Images/d_bp/u15/UNERASE.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/UNERASE.MAC rename to Source/Images/d_bp/u15/UNERASE.MAC diff --git a/Source/Images/hd0/s0/u15/VF-BOX11.LBR b/Source/Images/d_bp/u15/VF-BOX11.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/VF-BOX11.LBR rename to Source/Images/d_bp/u15/VF-BOX11.LBR diff --git a/Source/Images/hd0/s0/u15/VF41.IQF b/Source/Images/d_bp/u15/VF41.IQF similarity index 100% rename from Source/Images/hd0/s0/u15/VF41.IQF rename to Source/Images/d_bp/u15/VF41.IQF diff --git a/Source/Images/hd0/s0/u15/VF41H.LBR b/Source/Images/d_bp/u15/VF41H.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/VF41H.LBR rename to Source/Images/d_bp/u15/VF41H.LBR diff --git a/Source/Images/hd0/s0/u15/VF42A.LBR b/Source/Images/d_bp/u15/VF42A.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/VF42A.LBR rename to Source/Images/d_bp/u15/VF42A.LBR diff --git a/Source/Images/hd0/s0/u15/VFILER.COM b/Source/Images/d_bp/u15/VFILER.COM similarity index 100% rename from Source/Images/hd0/s0/u15/VFILER.COM rename to Source/Images/d_bp/u15/VFILER.COM diff --git a/Source/Images/hd0/s0/u15/VFILER.HLP b/Source/Images/d_bp/u15/VFILER.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/VFILER.HLP rename to Source/Images/d_bp/u15/VFILER.HLP diff --git a/Source/Images/hd0/s0/u15/VFILER.MAC b/Source/Images/d_bp/u15/VFILER.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/VFILER.MAC rename to Source/Images/d_bp/u15/VFILER.MAC diff --git a/Source/Images/hd0/s0/u15/VFILR4-1.LBR b/Source/Images/d_bp/u15/VFILR4-1.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/VFILR4-1.LBR rename to Source/Images/d_bp/u15/VFILR4-1.LBR diff --git a/Source/Images/hd0/s0/u15/VFILR4-2.LBR b/Source/Images/d_bp/u15/VFILR4-2.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/VFILR4-2.LBR rename to Source/Images/d_bp/u15/VFILR4-2.LBR diff --git a/Source/Images/hd0/s0/u15/VMENU.COM b/Source/Images/d_bp/u15/VMENU.COM similarity index 100% rename from Source/Images/hd0/s0/u15/VMENU.COM rename to Source/Images/d_bp/u15/VMENU.COM diff --git a/Source/Images/hd0/s0/u15/VMENU.HLP b/Source/Images/d_bp/u15/VMENU.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/VMENU.HLP rename to Source/Images/d_bp/u15/VMENU.HLP diff --git a/Source/Images/hd0/s0/u15/VMENU.MAC b/Source/Images/d_bp/u15/VMENU.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/VMENU.MAC rename to Source/Images/d_bp/u15/VMENU.MAC diff --git a/Source/Images/hd0/s0/u15/VMENU24.LBR b/Source/Images/d_bp/u15/VMENU24.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/VMENU24.LBR rename to Source/Images/d_bp/u15/VMENU24.LBR diff --git a/Source/Images/hd0/s0/u15/VMENUCK.COM b/Source/Images/d_bp/u15/VMENUCK.COM similarity index 100% rename from Source/Images/hd0/s0/u15/VMENUCK.COM rename to Source/Images/d_bp/u15/VMENUCK.COM diff --git a/Source/Images/hd0/s0/u15/VMENUCK.MAC b/Source/Images/d_bp/u15/VMENUCK.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/VMENUCK.MAC rename to Source/Images/d_bp/u15/VMENUCK.MAC diff --git a/Source/Images/hd0/s0/u15/VMENUFUN.LBR b/Source/Images/d_bp/u15/VMENUFUN.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/VMENUFUN.LBR rename to Source/Images/d_bp/u15/VMENUFUN.LBR diff --git a/Source/Images/hd0/s0/u15/WHEEL.COM b/Source/Images/d_bp/u15/WHEEL.COM similarity index 100% rename from Source/Images/hd0/s0/u15/WHEEL.COM rename to Source/Images/d_bp/u15/WHEEL.COM diff --git a/Source/Images/hd0/s0/u15/WHEEL.MAC b/Source/Images/d_bp/u15/WHEEL.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/WHEEL.MAC rename to Source/Images/d_bp/u15/WHEEL.MAC diff --git a/Source/Images/hd0/s0/u15/WILDCAT.TXT b/Source/Images/d_bp/u15/WILDCAT.TXT similarity index 100% rename from Source/Images/hd0/s0/u15/WILDCAT.TXT rename to Source/Images/d_bp/u15/WILDCAT.TXT diff --git a/Source/Images/hd0/s0/u15/WYSE.DPG b/Source/Images/d_bp/u15/WYSE.DPG similarity index 100% rename from Source/Images/hd0/s0/u15/WYSE.DPG rename to Source/Images/d_bp/u15/WYSE.DPG diff --git a/Source/Images/hd0/s0/u15/XD.COM b/Source/Images/d_bp/u15/XD.COM similarity index 100% rename from Source/Images/hd0/s0/u15/XD.COM rename to Source/Images/d_bp/u15/XD.COM diff --git a/Source/Images/hd0/s0/u15/XD.MAC b/Source/Images/d_bp/u15/XD.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/XD.MAC rename to Source/Images/d_bp/u15/XD.MAC diff --git a/Source/Images/hd0/s0/u15/XDIR.COM b/Source/Images/d_bp/u15/XDIR.COM similarity index 100% rename from Source/Images/hd0/s0/u15/XDIR.COM rename to Source/Images/d_bp/u15/XDIR.COM diff --git a/Source/Images/hd0/s0/u15/XDIR.MAC b/Source/Images/d_bp/u15/XDIR.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/XDIR.MAC rename to Source/Images/d_bp/u15/XDIR.MAC diff --git a/Source/Images/hd0/s0/u15/Z3BASE1.LIB b/Source/Images/d_bp/u15/Z3BASE1.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/Z3BASE1.LIB rename to Source/Images/d_bp/u15/Z3BASE1.LIB diff --git a/Source/Images/hd0/s0/u15/Z3BASE2.LIB b/Source/Images/d_bp/u15/Z3BASE2.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/Z3BASE2.LIB rename to Source/Images/d_bp/u15/Z3BASE2.LIB diff --git a/Source/Images/hd0/s0/u15/Z3FILES.PH1 b/Source/Images/d_bp/u15/Z3FILES.PH1 similarity index 100% rename from Source/Images/hd0/s0/u15/Z3FILES.PH1 rename to Source/Images/d_bp/u15/Z3FILES.PH1 diff --git a/Source/Images/hd0/s0/u15/Z3FILES.PH2 b/Source/Images/d_bp/u15/Z3FILES.PH2 similarity index 100% rename from Source/Images/hd0/s0/u15/Z3FILES.PH2 rename to Source/Images/d_bp/u15/Z3FILES.PH2 diff --git a/Source/Images/hd0/s0/u15/Z3FILES.PQ2 b/Source/Images/d_bp/u15/Z3FILES.PQ2 similarity index 100% rename from Source/Images/hd0/s0/u15/Z3FILES.PQ2 rename to Source/Images/d_bp/u15/Z3FILES.PQ2 diff --git a/Source/Images/hd0/s0/u15/Z3FILES2.PH2 b/Source/Images/d_bp/u15/Z3FILES2.PH2 similarity index 100% rename from Source/Images/hd0/s0/u15/Z3FILES2.PH2 rename to Source/Images/d_bp/u15/Z3FILES2.PH2 diff --git a/Source/Images/hd0/s0/u15/Z3FILES2.PQ2 b/Source/Images/d_bp/u15/Z3FILES2.PQ2 similarity index 100% rename from Source/Images/hd0/s0/u15/Z3FILES2.PQ2 rename to Source/Images/d_bp/u15/Z3FILES2.PQ2 diff --git a/Source/Images/hd0/s0/u15/Z3HDR1.LIB b/Source/Images/d_bp/u15/Z3HDR1.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/Z3HDR1.LIB rename to Source/Images/d_bp/u15/Z3HDR1.LIB diff --git a/Source/Images/hd0/s0/u15/Z3HDR2.LIB b/Source/Images/d_bp/u15/Z3HDR2.LIB similarity index 100% rename from Source/Images/hd0/s0/u15/Z3HDR2.LIB rename to Source/Images/d_bp/u15/Z3HDR2.LIB diff --git a/Source/Images/hd0/s0/u15/Z3LDRBUG.LBR b/Source/Images/d_bp/u15/Z3LDRBUG.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/Z3LDRBUG.LBR rename to Source/Images/d_bp/u15/Z3LDRBUG.LBR diff --git a/Source/Images/hd0/s0/u15/Z3LOC.COM b/Source/Images/d_bp/u15/Z3LOC.COM similarity index 100% rename from Source/Images/hd0/s0/u15/Z3LOC.COM rename to Source/Images/d_bp/u15/Z3LOC.COM diff --git a/Source/Images/hd0/s0/u15/Z3LOC.MAC b/Source/Images/d_bp/u15/Z3LOC.MAC similarity index 100% rename from Source/Images/hd0/s0/u15/Z3LOC.MAC rename to Source/Images/d_bp/u15/Z3LOC.MAC diff --git a/Source/Images/hd0/s0/u15/Z3LOC11.LBR b/Source/Images/d_bp/u15/Z3LOC11.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/Z3LOC11.LBR rename to Source/Images/d_bp/u15/Z3LOC11.LBR diff --git a/Source/Images/hd0/s0/u15/Z3RES.HLP b/Source/Images/d_bp/u15/Z3RES.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/Z3RES.HLP rename to Source/Images/d_bp/u15/Z3RES.HLP diff --git a/Source/Images/hd0/s0/u15/Z3TCAP.AQM b/Source/Images/d_bp/u15/Z3TCAP.AQM similarity index 100% rename from Source/Images/hd0/s0/u15/Z3TCAP.AQM rename to Source/Images/d_bp/u15/Z3TCAP.AQM diff --git a/Source/Images/hd0/s0/u15/Z3TCAP.ASM b/Source/Images/d_bp/u15/Z3TCAP.ASM similarity index 100% rename from Source/Images/hd0/s0/u15/Z3TCAP.ASM rename to Source/Images/d_bp/u15/Z3TCAP.ASM diff --git a/Source/Images/hd0/s0/u15/Z3TCAP.HLP b/Source/Images/d_bp/u15/Z3TCAP.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/Z3TCAP.HLP rename to Source/Images/d_bp/u15/Z3TCAP.HLP diff --git a/Source/Images/hd0/s0/u15/Z3TCAP.TCP b/Source/Images/d_bp/u15/Z3TCAP.TCP similarity index 100% rename from Source/Images/hd0/s0/u15/Z3TCAP.TCP rename to Source/Images/d_bp/u15/Z3TCAP.TCP diff --git a/Source/Images/hd0/s0/u15/Z3TCAP.TQP b/Source/Images/d_bp/u15/Z3TCAP.TQP similarity index 100% rename from Source/Images/hd0/s0/u15/Z3TCAP.TQP rename to Source/Images/d_bp/u15/Z3TCAP.TQP diff --git a/Source/Images/hd0/s0/u15/Z3TCAP22.LBR b/Source/Images/d_bp/u15/Z3TCAP22.LBR similarity index 100% rename from Source/Images/hd0/s0/u15/Z3TCAP22.LBR rename to Source/Images/d_bp/u15/Z3TCAP22.LBR diff --git a/Source/Images/hd0/s0/u15/Z3UTIL1.HLP b/Source/Images/d_bp/u15/Z3UTIL1.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/Z3UTIL1.HLP rename to Source/Images/d_bp/u15/Z3UTIL1.HLP diff --git a/Source/Images/hd0/s0/u15/Z3UTIL2.HLP b/Source/Images/d_bp/u15/Z3UTIL2.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/Z3UTIL2.HLP rename to Source/Images/d_bp/u15/Z3UTIL2.HLP diff --git a/Source/Images/hd0/s0/u15/Z3UTIL3.HLP b/Source/Images/d_bp/u15/Z3UTIL3.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/Z3UTIL3.HLP rename to Source/Images/d_bp/u15/Z3UTIL3.HLP diff --git a/Source/Images/hd0/s0/u15/ZCPR3.AQM b/Source/Images/d_bp/u15/ZCPR3.AQM similarity index 100% rename from Source/Images/hd0/s0/u15/ZCPR3.AQM rename to Source/Images/d_bp/u15/ZCPR3.AQM diff --git a/Source/Images/hd0/s0/u15/ZCPR3.ASM b/Source/Images/d_bp/u15/ZCPR3.ASM similarity index 100% rename from Source/Images/hd0/s0/u15/ZCPR3.ASM rename to Source/Images/d_bp/u15/ZCPR3.ASM diff --git a/Source/Images/hd0/s0/u15/ZCPR3.HLP b/Source/Images/d_bp/u15/ZCPR3.HLP similarity index 100% rename from Source/Images/hd0/s0/u15/ZCPR3.HLP rename to Source/Images/d_bp/u15/ZCPR3.HLP diff --git a/Source/Images/hd0/s0/u15/ZCPR3.INS b/Source/Images/d_bp/u15/ZCPR3.INS similarity index 100% rename from Source/Images/hd0/s0/u15/ZCPR3.INS rename to Source/Images/d_bp/u15/ZCPR3.INS diff --git a/Source/Images/hd0/s0/u15/ZCPR3.IQS b/Source/Images/d_bp/u15/ZCPR3.IQS similarity index 100% rename from Source/Images/hd0/s0/u15/ZCPR3.IQS rename to Source/Images/d_bp/u15/ZCPR3.IQS diff --git a/Source/Images/hd0/s0/u15/ZCPR3DIR.BQG b/Source/Images/d_bp/u15/ZCPR3DIR.BQG similarity index 100% rename from Source/Images/hd0/s0/u15/ZCPR3DIR.BQG rename to Source/Images/d_bp/u15/ZCPR3DIR.BQG diff --git a/Source/Images/hd0/s0/u15/ZCPR3DIR.BUG b/Source/Images/d_bp/u15/ZCPR3DIR.BUG similarity index 100% rename from Source/Images/hd0/s0/u15/ZCPR3DIR.BUG rename to Source/Images/d_bp/u15/ZCPR3DIR.BUG diff --git a/Source/Images/hd0/s0/u15/ZEX.AQM b/Source/Images/d_bp/u15/ZEX.AQM similarity index 100% rename from Source/Images/hd0/s0/u15/ZEX.AQM rename to Source/Images/d_bp/u15/ZEX.AQM diff --git a/Source/Images/hd0/s0/u15/ZEX.ASM b/Source/Images/d_bp/u15/ZEX.ASM similarity index 100% rename from Source/Images/hd0/s0/u15/ZEX.ASM rename to Source/Images/d_bp/u15/ZEX.ASM diff --git a/Source/Images/hd0/s0/u15/ZEX.COM b/Source/Images/d_bp/u15/ZEX.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ZEX.COM rename to Source/Images/d_bp/u15/ZEX.COM diff --git a/Source/Images/hd0/s0/u15/ZEX.ZEX b/Source/Images/d_bp/u15/ZEX.ZEX similarity index 100% rename from Source/Images/hd0/s0/u15/ZEX.ZEX rename to Source/Images/d_bp/u15/ZEX.ZEX diff --git a/Source/Images/hd0/s0/u15/ZEX2.COM b/Source/Images/d_bp/u15/ZEX2.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ZEX2.COM rename to Source/Images/d_bp/u15/ZEX2.COM diff --git a/Source/Images/hd0/s0/u15/ZEX31A.COM b/Source/Images/d_bp/u15/ZEX31A.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ZEX31A.COM rename to Source/Images/d_bp/u15/ZEX31A.COM diff --git a/Source/Images/hd0/s0/u15/ZGOLF.COM b/Source/Images/d_bp/u15/ZGOLF.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ZGOLF.COM rename to Source/Images/d_bp/u15/ZGOLF.COM diff --git a/Source/Images/hd0/s0/u15/ZMLIB.COM b/Source/Images/d_bp/u15/ZMLIB.COM similarity index 100% rename from Source/Images/hd0/s0/u15/ZMLIB.COM rename to Source/Images/d_bp/u15/ZMLIB.COM diff --git a/Source/Images/hd0/s0/u15/ZSYSTEM.INS b/Source/Images/d_bp/u15/ZSYSTEM.INS similarity index 100% rename from Source/Images/hd0/s0/u15/ZSYSTEM.INS rename to Source/Images/d_bp/u15/ZSYSTEM.INS diff --git a/Source/Images/hd0/s0/u15/xzrl.com b/Source/Images/d_bp/u15/xzrl.com similarity index 100% rename from Source/Images/hd0/s0/u15/xzrl.com rename to Source/Images/d_bp/u15/xzrl.com diff --git a/Source/Images/hd0/s0/u15/xzrl.doc b/Source/Images/d_bp/u15/xzrl.doc similarity index 100% rename from Source/Images/hd0/s0/u15/xzrl.doc rename to Source/Images/d_bp/u15/xzrl.doc diff --git a/Source/Images/hd0/s0/u0/ASM.COM b/Source/Images/d_cpm22/u0/ASM.COM similarity index 100% rename from Source/Images/hd0/s0/u0/ASM.COM rename to Source/Images/d_cpm22/u0/ASM.COM diff --git a/Source/Images/fd0/u0/CLRDIR.COM b/Source/Images/d_cpm22/u0/CLRDIR.COM similarity index 100% rename from Source/Images/fd0/u0/CLRDIR.COM rename to Source/Images/d_cpm22/u0/CLRDIR.COM diff --git a/Source/Images/d_cpm22/u0/COMPARE.COM b/Source/Images/d_cpm22/u0/COMPARE.COM new file mode 100644 index 00000000..29fa41e6 Binary files /dev/null and b/Source/Images/d_cpm22/u0/COMPARE.COM differ diff --git a/Source/Images/hd0/s0/u0/CR.COM b/Source/Images/d_cpm22/u0/CR.COM similarity index 100% rename from Source/Images/hd0/s0/u0/CR.COM rename to Source/Images/d_cpm22/u0/CR.COM diff --git a/Source/Images/hd0/s0/u0/DDT.COM b/Source/Images/d_cpm22/u0/DDT.COM similarity index 100% rename from Source/Images/hd0/s0/u0/DDT.COM rename to Source/Images/d_cpm22/u0/DDT.COM diff --git a/Source/Images/hd0/s0/u0/DDTZ.COM b/Source/Images/d_cpm22/u0/DDTZ.COM similarity index 100% rename from Source/Images/hd0/s0/u0/DDTZ.COM rename to Source/Images/d_cpm22/u0/DDTZ.COM diff --git a/Source/Images/hd0/s0/u0/DDTZ.DOC b/Source/Images/d_cpm22/u0/DDTZ.DOC similarity index 100% rename from Source/Images/hd0/s0/u0/DDTZ.DOC rename to Source/Images/d_cpm22/u0/DDTZ.DOC diff --git a/Source/Images/hd0/s0/u0/DIRX.COM b/Source/Images/d_cpm22/u0/DIRX.COM similarity index 100% rename from Source/Images/hd0/s0/u0/DIRX.COM rename to Source/Images/d_cpm22/u0/DIRX.COM diff --git a/Source/Images/hd0/s0/u0/DUMP.COM b/Source/Images/d_cpm22/u0/DUMP.COM similarity index 100% rename from Source/Images/hd0/s0/u0/DUMP.COM rename to Source/Images/d_cpm22/u0/DUMP.COM diff --git a/Source/Images/hd0/s0/u0/ED.COM b/Source/Images/d_cpm22/u0/ED.COM similarity index 100% rename from Source/Images/hd0/s0/u0/ED.COM rename to Source/Images/d_cpm22/u0/ED.COM diff --git a/Source/Images/fd1/u0/FAT.COM b/Source/Images/d_cpm22/u0/FAT.COM similarity index 100% rename from Source/Images/fd1/u0/FAT.COM rename to Source/Images/d_cpm22/u0/FAT.COM diff --git a/Source/Images/d_cpm22/u0/FDISK80.COM b/Source/Images/d_cpm22/u0/FDISK80.COM new file mode 100644 index 00000000..00ac10f7 Binary files /dev/null and b/Source/Images/d_cpm22/u0/FDISK80.COM differ diff --git a/Source/Images/d_cpm22/u0/FLASH.COM b/Source/Images/d_cpm22/u0/FLASH.COM new file mode 100644 index 00000000..1b7fa64c Binary files /dev/null and b/Source/Images/d_cpm22/u0/FLASH.COM differ diff --git a/Source/Images/hd0/s0/u0/LBREXT.COM b/Source/Images/d_cpm22/u0/LBREXT.COM similarity index 100% rename from Source/Images/hd0/s0/u0/LBREXT.COM rename to Source/Images/d_cpm22/u0/LBREXT.COM diff --git a/Source/Images/hd0/s0/u0/LIB.COM b/Source/Images/d_cpm22/u0/LIB.COM similarity index 100% rename from Source/Images/hd0/s0/u0/LIB.COM rename to Source/Images/d_cpm22/u0/LIB.COM diff --git a/Source/Images/hd0/s0/u0/LINK.COM b/Source/Images/d_cpm22/u0/LINK.COM similarity index 100% rename from Source/Images/hd0/s0/u0/LINK.COM rename to Source/Images/d_cpm22/u0/LINK.COM diff --git a/Source/Images/hd0/s0/u0/LOAD.COM b/Source/Images/d_cpm22/u0/LOAD.COM similarity index 100% rename from Source/Images/hd0/s0/u0/LOAD.COM rename to Source/Images/d_cpm22/u0/LOAD.COM diff --git a/Source/Images/hd0/s0/u0/MAC.COM b/Source/Images/d_cpm22/u0/MAC.COM similarity index 100% rename from Source/Images/hd0/s0/u0/MAC.COM rename to Source/Images/d_cpm22/u0/MAC.COM diff --git a/Source/Images/hd0/s0/u0/MBASIC.COM b/Source/Images/d_cpm22/u0/MBASIC.COM similarity index 100% rename from Source/Images/hd0/s0/u0/MBASIC.COM rename to Source/Images/d_cpm22/u0/MBASIC.COM diff --git a/Source/Images/fd0/u0/NULU.COM b/Source/Images/d_cpm22/u0/NULU.COM similarity index 99% rename from Source/Images/fd0/u0/NULU.COM rename to Source/Images/d_cpm22/u0/NULU.COM index 3d45098a..fc5594b1 100644 Binary files a/Source/Images/fd0/u0/NULU.COM and b/Source/Images/d_cpm22/u0/NULU.COM differ diff --git a/Source/Images/hd0/s0/u0/PIP.COM b/Source/Images/d_cpm22/u0/PIP.COM similarity index 100% rename from Source/Images/hd0/s0/u0/PIP.COM rename to Source/Images/d_cpm22/u0/PIP.COM diff --git a/Source/Images/hd0/s1/u0/pmarc.com b/Source/Images/d_cpm22/u0/PMARC.COM similarity index 100% rename from Source/Images/hd0/s1/u0/pmarc.com rename to Source/Images/d_cpm22/u0/PMARC.COM diff --git a/Source/Images/hd0/s1/u0/pmext.com b/Source/Images/d_cpm22/u0/PMEXT.COM similarity index 100% rename from Source/Images/hd0/s1/u0/pmext.com rename to Source/Images/d_cpm22/u0/PMEXT.COM diff --git a/Source/Images/hd0/s0/u0/RMAC.COM b/Source/Images/d_cpm22/u0/RMAC.COM similarity index 100% rename from Source/Images/hd0/s0/u0/RMAC.COM rename to Source/Images/d_cpm22/u0/RMAC.COM diff --git a/Source/Images/hd0/s0/u0/STAT.COM b/Source/Images/d_cpm22/u0/STAT.COM similarity index 100% rename from Source/Images/hd0/s0/u0/STAT.COM rename to Source/Images/d_cpm22/u0/STAT.COM diff --git a/Source/Images/hd0/s0/u0/SUBMIT.COM b/Source/Images/d_cpm22/u0/SUBMIT.COM similarity index 100% rename from Source/Images/hd0/s0/u0/SUBMIT.COM rename to Source/Images/d_cpm22/u0/SUBMIT.COM diff --git a/Source/Images/hd0/s0/u0/UNARC.COM b/Source/Images/d_cpm22/u0/UNARC.COM similarity index 100% rename from Source/Images/hd0/s0/u0/UNARC.COM rename to Source/Images/d_cpm22/u0/UNARC.COM diff --git a/Source/Images/hd0/s0/u0/UNCR.COM b/Source/Images/d_cpm22/u0/UNCR.COM similarity index 100% rename from Source/Images/hd0/s0/u0/UNCR.COM rename to Source/Images/d_cpm22/u0/UNCR.COM diff --git a/Source/Images/hd0/s0/u0/UNZIP.COM b/Source/Images/d_cpm22/u0/UNZIP.COM similarity index 100% rename from Source/Images/hd0/s0/u0/UNZIP.COM rename to Source/Images/d_cpm22/u0/UNZIP.COM diff --git a/Source/Images/hd0/s0/u0/XSUB.COM b/Source/Images/d_cpm22/u0/XSUB.COM similarity index 100% rename from Source/Images/hd0/s0/u0/XSUB.COM rename to Source/Images/d_cpm22/u0/XSUB.COM diff --git a/Source/Images/hd0/s0/u0/ZAP.COM b/Source/Images/d_cpm22/u0/ZAP.COM similarity index 100% rename from Source/Images/hd0/s0/u0/ZAP.COM rename to Source/Images/d_cpm22/u0/ZAP.COM diff --git a/Source/Images/hd0/s0/u0/ZDE.COM b/Source/Images/d_cpm22/u0/ZDE.COM similarity index 100% rename from Source/Images/hd0/s0/u0/ZDE.COM rename to Source/Images/d_cpm22/u0/ZDE.COM diff --git a/Source/Images/fd0/u0/ZDENST.COM b/Source/Images/d_cpm22/u0/ZDENST.COM similarity index 100% rename from Source/Images/fd0/u0/ZDENST.COM rename to Source/Images/d_cpm22/u0/ZDENST.COM diff --git a/Source/Images/d_cpm22/u0/ZSID.COM b/Source/Images/d_cpm22/u0/ZSID.COM new file mode 100644 index 00000000..686b3775 Binary files /dev/null and b/Source/Images/d_cpm22/u0/ZSID.COM differ diff --git a/Source/Images/hd0/s0/u1/SAMPKEY.DOC b/Source/Images/d_cpm22/u1/SAMPKEY.DOC similarity index 100% rename from Source/Images/hd0/s0/u1/SAMPKEY.DOC rename to Source/Images/d_cpm22/u1/SAMPKEY.DOC diff --git a/Source/Images/hd0/s0/u1/SAMPKEY.ZDK b/Source/Images/d_cpm22/u1/SAMPKEY.ZDK similarity index 100% rename from Source/Images/hd0/s0/u1/SAMPKEY.ZDK rename to Source/Images/d_cpm22/u1/SAMPKEY.ZDK diff --git a/Source/Images/hd0/s0/u1/SAMPKEY.ZDT b/Source/Images/d_cpm22/u1/SAMPKEY.ZDT similarity index 100% rename from Source/Images/hd0/s0/u1/SAMPKEY.ZDT rename to Source/Images/d_cpm22/u1/SAMPKEY.ZDT diff --git a/Source/Images/hd0/s0/u1/ZDE10.DOC b/Source/Images/d_cpm22/u1/ZDE10.DOC similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE10.DOC rename to Source/Images/d_cpm22/u1/ZDE10.DOC diff --git a/Source/Images/hd0/s0/u1/ZDE10.FOR b/Source/Images/d_cpm22/u1/ZDE10.FOR similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE10.FOR rename to Source/Images/d_cpm22/u1/ZDE10.FOR diff --git a/Source/Images/hd0/s0/u1/ZDE10.NEW b/Source/Images/d_cpm22/u1/ZDE10.NEW similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE10.NEW rename to Source/Images/d_cpm22/u1/ZDE10.NEW diff --git a/Source/Images/hd0/s0/u1/ZDE10.QRF b/Source/Images/d_cpm22/u1/ZDE10.QRF similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE10.QRF rename to Source/Images/d_cpm22/u1/ZDE10.QRF diff --git a/Source/Images/hd0/s0/u1/ZDE10.TOC b/Source/Images/d_cpm22/u1/ZDE10.TOC similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE10.TOC rename to Source/Images/d_cpm22/u1/ZDE10.TOC diff --git a/Source/Images/hd0/s0/u1/ZDE13.FOR b/Source/Images/d_cpm22/u1/ZDE13.FOR similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE13.FOR rename to Source/Images/d_cpm22/u1/ZDE13.FOR diff --git a/Source/Images/hd0/s0/u1/ZDE13.NEW b/Source/Images/d_cpm22/u1/ZDE13.NEW similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE13.NEW rename to Source/Images/d_cpm22/u1/ZDE13.NEW diff --git a/Source/Images/hd0/s0/u1/ZDE16.COM b/Source/Images/d_cpm22/u1/ZDE16.COM similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE16.COM rename to Source/Images/d_cpm22/u1/ZDE16.COM diff --git a/Source/Images/hd0/s0/u1/ZDE16.DIR b/Source/Images/d_cpm22/u1/ZDE16.DIR similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE16.DIR rename to Source/Images/d_cpm22/u1/ZDE16.DIR diff --git a/Source/Images/hd0/s0/u1/ZDE16.FIX b/Source/Images/d_cpm22/u1/ZDE16.FIX similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE16.FIX rename to Source/Images/d_cpm22/u1/ZDE16.FIX diff --git a/Source/Images/hd0/s0/u1/ZDE16.FOR b/Source/Images/d_cpm22/u1/ZDE16.FOR similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE16.FOR rename to Source/Images/d_cpm22/u1/ZDE16.FOR diff --git a/Source/Images/hd0/s0/u1/ZDE16.NEW b/Source/Images/d_cpm22/u1/ZDE16.NEW similarity index 100% rename from Source/Images/hd0/s0/u1/ZDE16.NEW rename to Source/Images/d_cpm22/u1/ZDE16.NEW diff --git a/Source/Images/hd0/s0/u1/ZDENST16.COM b/Source/Images/d_cpm22/u1/ZDENST16.COM similarity index 100% rename from Source/Images/hd0/s0/u1/ZDENST16.COM rename to Source/Images/d_cpm22/u1/ZDENST16.COM diff --git a/Source/Images/hd0/s0/u1/ZDEPROP.DOC b/Source/Images/d_cpm22/u1/ZDEPROP.DOC similarity index 100% rename from Source/Images/hd0/s0/u1/ZDEPROP.DOC rename to Source/Images/d_cpm22/u1/ZDEPROP.DOC diff --git a/Source/Images/hd0/s0/u1/ZDEPROP.Z80 b/Source/Images/d_cpm22/u1/ZDEPROP.Z80 similarity index 100% rename from Source/Images/hd0/s0/u1/ZDEPROP.Z80 rename to Source/Images/d_cpm22/u1/ZDEPROP.Z80 diff --git a/Source/Images/hd0/s0/u1/ZDKCOM13.COM b/Source/Images/d_cpm22/u1/ZDKCOM13.COM similarity index 100% rename from Source/Images/hd0/s0/u1/ZDKCOM13.COM rename to Source/Images/d_cpm22/u1/ZDKCOM13.COM diff --git a/Source/Images/hd0/s0/u1/ZDKCOM13.DOC b/Source/Images/d_cpm22/u1/ZDKCOM13.DOC similarity index 100% rename from Source/Images/hd0/s0/u1/ZDKCOM13.DOC rename to Source/Images/d_cpm22/u1/ZDKCOM13.DOC diff --git a/Source/Images/hd0/s0/u3/Attack.pt3 b/Source/Images/d_cpm22/u3/Attack.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Attack.pt3 rename to Source/Images/d_cpm22/u3/Attack.pt3 diff --git a/Source/Images/hd0/s0/u3/Backup.pt3 b/Source/Images/d_cpm22/u3/Backup.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Backup.pt3 rename to Source/Images/d_cpm22/u3/Backup.pt3 diff --git a/Source/Images/hd0/s0/u3/BadMice.pt3 b/Source/Images/d_cpm22/u3/BadMice.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/BadMice.pt3 rename to Source/Images/d_cpm22/u3/BadMice.pt3 diff --git a/Source/Images/hd0/s0/u3/Demo.mym b/Source/Images/d_cpm22/u3/Demo.mym similarity index 100% rename from Source/Images/hd0/s0/u3/Demo.mym rename to Source/Images/d_cpm22/u3/Demo.mym diff --git a/Source/Images/hd0/s0/u3/Demo1.mym b/Source/Images/d_cpm22/u3/Demo1.mym similarity index 100% rename from Source/Images/hd0/s0/u3/Demo1.mym rename to Source/Images/d_cpm22/u3/Demo1.mym diff --git a/Source/Images/hd0/s0/u3/Demo3.mym b/Source/Images/d_cpm22/u3/Demo3.mym similarity index 100% rename from Source/Images/hd0/s0/u3/Demo3.mym rename to Source/Images/d_cpm22/u3/Demo3.mym diff --git a/Source/Images/hd0/s0/u3/Demo3mix.mym b/Source/Images/d_cpm22/u3/Demo3mix.mym similarity index 100% rename from Source/Images/hd0/s0/u3/Demo3mix.mym rename to Source/Images/d_cpm22/u3/Demo3mix.mym diff --git a/Source/Images/hd0/s0/u3/Demo4.mym b/Source/Images/d_cpm22/u3/Demo4.mym similarity index 100% rename from Source/Images/hd0/s0/u3/Demo4.mym rename to Source/Images/d_cpm22/u3/Demo4.mym diff --git a/Source/Images/hd0/s0/u3/HowRU.pt3 b/Source/Images/d_cpm22/u3/HowRU.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/HowRU.pt3 rename to Source/Images/d_cpm22/u3/HowRU.pt3 diff --git a/Source/Images/hd0/s0/u3/Iteratn.pt3 b/Source/Images/d_cpm22/u3/Iteratn.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Iteratn.pt3 rename to Source/Images/d_cpm22/u3/Iteratn.pt3 diff --git a/Source/Images/hd0/s0/u3/LookBack.pt3 b/Source/Images/d_cpm22/u3/LookBack.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/LookBack.pt3 rename to Source/Images/d_cpm22/u3/LookBack.pt3 diff --git a/Source/Images/hd0/s0/u3/Louboutn.pt3 b/Source/Images/d_cpm22/u3/Louboutn.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Louboutn.pt3 rename to Source/Images/d_cpm22/u3/Louboutn.pt3 diff --git a/Source/Images/hd0/s0/u3/Namida.pt3 b/Source/Images/d_cpm22/u3/Namida.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Namida.pt3 rename to Source/Images/d_cpm22/u3/Namida.pt3 diff --git a/Source/Images/hd0/s0/u3/Recoll.pt3 b/Source/Images/d_cpm22/u3/Recoll.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Recoll.pt3 rename to Source/Images/d_cpm22/u3/Recoll.pt3 diff --git a/Source/Images/hd0/s0/u3/Sanxion.pt3 b/Source/Images/d_cpm22/u3/Sanxion.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Sanxion.pt3 rename to Source/Images/d_cpm22/u3/Sanxion.pt3 diff --git a/Source/Images/hd0/s0/u3/Synch.pt3 b/Source/Images/d_cpm22/u3/Synch.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Synch.pt3 rename to Source/Images/d_cpm22/u3/Synch.pt3 diff --git a/Source/Images/hd0/s0/u3/ToStar.pt3 b/Source/Images/d_cpm22/u3/ToStar.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/ToStar.pt3 rename to Source/Images/d_cpm22/u3/ToStar.pt3 diff --git a/Source/Images/hd0/s0/u3/Tune.com b/Source/Images/d_cpm22/u3/Tune.com similarity index 100% rename from Source/Images/hd0/s0/u3/Tune.com rename to Source/Images/d_cpm22/u3/Tune.com diff --git a/Source/Images/hd0/s0/u3/Victory.pt3 b/Source/Images/d_cpm22/u3/Victory.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Victory.pt3 rename to Source/Images/d_cpm22/u3/Victory.pt3 diff --git a/Source/Images/hd0/s0/u3/Wicked.pt3 b/Source/Images/d_cpm22/u3/Wicked.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Wicked.pt3 rename to Source/Images/d_cpm22/u3/Wicked.pt3 diff --git a/Source/Images/hd0/s0/u3/YeOlde.pt3 b/Source/Images/d_cpm22/u3/YeOlde.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/YeOlde.pt3 rename to Source/Images/d_cpm22/u3/YeOlde.pt3 diff --git a/Source/Images/hd0/s0/u3/Yeovil.pt3 b/Source/Images/d_cpm22/u3/Yeovil.pt3 similarity index 100% rename from Source/Images/hd0/s0/u3/Yeovil.pt3 rename to Source/Images/d_cpm22/u3/Yeovil.pt3 diff --git a/Source/Images/hd_cpm3/s0/u0/DATE.COM b/Source/Images/d_cpm3/u0/DATE.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/DATE.COM rename to Source/Images/d_cpm3/u0/DATE.COM diff --git a/Source/Images/hd_cpm3/s0/u0/DEVICE.COM b/Source/Images/d_cpm3/u0/DEVICE.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/DEVICE.COM rename to Source/Images/d_cpm3/u0/DEVICE.COM diff --git a/Source/Images/hd_cpm3/s0/u0/DIR.COM b/Source/Images/d_cpm3/u0/DIR.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/DIR.COM rename to Source/Images/d_cpm3/u0/DIR.COM diff --git a/Source/Images/hd_cpm3/s0/u0/DUMP.COM b/Source/Images/d_cpm3/u0/DUMP.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/DUMP.COM rename to Source/Images/d_cpm3/u0/DUMP.COM diff --git a/Source/Images/hd_cpm3/s0/u0/ED.COM b/Source/Images/d_cpm3/u0/ED.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/ED.COM rename to Source/Images/d_cpm3/u0/ED.COM diff --git a/Source/Images/hd_cpm3/s0/u0/ERASE.COM b/Source/Images/d_cpm3/u0/ERASE.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/ERASE.COM rename to Source/Images/d_cpm3/u0/ERASE.COM diff --git a/Source/Images/hd_cpm3/s0/u0/GENCOM.COM b/Source/Images/d_cpm3/u0/GENCOM.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/GENCOM.COM rename to Source/Images/d_cpm3/u0/GENCOM.COM diff --git a/Source/Images/d_cpm3/u0/GENCPM.COM b/Source/Images/d_cpm3/u0/GENCPM.COM new file mode 100644 index 00000000..d9d67499 Binary files /dev/null and b/Source/Images/d_cpm3/u0/GENCPM.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/GET.COM b/Source/Images/d_cpm3/u0/GET.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/GET.COM rename to Source/Images/d_cpm3/u0/GET.COM diff --git a/Source/Images/hd_cpm3/s0/u0/HELP.COM b/Source/Images/d_cpm3/u0/HELP.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/HELP.COM rename to Source/Images/d_cpm3/u0/HELP.COM diff --git a/Source/Images/hd_cpm3/s0/u0/HELP.HLP b/Source/Images/d_cpm3/u0/HELP.HLP similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/HELP.HLP rename to Source/Images/d_cpm3/u0/HELP.HLP diff --git a/Source/Images/hd_cpm3/s0/u0/HEXCOM.CPM b/Source/Images/d_cpm3/u0/HEXCOM.CPM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/HEXCOM.CPM rename to Source/Images/d_cpm3/u0/HEXCOM.CPM diff --git a/Source/Images/hd_cpm3/s0/u0/INITDIR.COM b/Source/Images/d_cpm3/u0/INITDIR.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/INITDIR.COM rename to Source/Images/d_cpm3/u0/INITDIR.COM diff --git a/Source/Images/hd_cpm3/s0/u0/PATCH.COM b/Source/Images/d_cpm3/u0/PATCH.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/PATCH.COM rename to Source/Images/d_cpm3/u0/PATCH.COM diff --git a/Source/Images/hd_cpm3/s0/u0/PIP.COM b/Source/Images/d_cpm3/u0/PIP.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/PIP.COM rename to Source/Images/d_cpm3/u0/PIP.COM diff --git a/Source/Images/hd_cpm3/s0/u0/PUT.COM b/Source/Images/d_cpm3/u0/PUT.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/PUT.COM rename to Source/Images/d_cpm3/u0/PUT.COM diff --git a/Source/Images/hd_cpm3/s0/u0/RENAME.COM b/Source/Images/d_cpm3/u0/RENAME.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/RENAME.COM rename to Source/Images/d_cpm3/u0/RENAME.COM diff --git a/Source/Images/hd_cpm3/s0/u0/WBW.TXT b/Source/Images/d_cpm3/u0/ROMWBW.TXT similarity index 62% rename from Source/Images/hd_cpm3/s0/u0/WBW.TXT rename to Source/Images/d_cpm3/u0/ROMWBW.TXT index 9bdf3827..95717ee4 100644 --- a/Source/Images/hd_cpm3/s0/u0/WBW.TXT +++ b/Source/Images/d_cpm3/u0/ROMWBW.TXT @@ -1,3 +1,10 @@ +This is a generic CP/M 3 adaptation for RomWBW. + +To start CP/M 3, first boot into CP/M 2.2 or ZSystem. Then +switch to the drive that contains the CP/M 3 hard disk image +and run CPMLDR. You will be prompted for the disk unit +of the CP/M 3 image. + With the following exceptions, the files in this directory came from the CP/M 3 binary distribution on "The Unofficial CP/M Web site" at http://www.cpm.z80.de/binary.html. @@ -11,6 +18,6 @@ In addition, the following have been added: - INITDIR.COM was not included. The copy included is the original DRI distribution, with both patches installed. -- ZSID6.COM is the original DRI ZSID distribution, but +- ZSID.COM is the original DRI ZSID distribution, but patched to use RST 6 instead of RST 7 to avoid conflicting with mode 1 interrupts. diff --git a/Source/Images/hd_cpm3/s0/u0/SAVE.COM b/Source/Images/d_cpm3/u0/SAVE.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/SAVE.COM rename to Source/Images/d_cpm3/u0/SAVE.COM diff --git a/Source/Images/hd_cpm3/s0/u0/SET.COM b/Source/Images/d_cpm3/u0/SET.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/SET.COM rename to Source/Images/d_cpm3/u0/SET.COM diff --git a/Source/Images/hd_cpm3/s0/u0/SETDEF.COM b/Source/Images/d_cpm3/u0/SETDEF.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/SETDEF.COM rename to Source/Images/d_cpm3/u0/SETDEF.COM diff --git a/Source/Images/hd_cpm3/s0/u0/SHOW.COM b/Source/Images/d_cpm3/u0/SHOW.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/SHOW.COM rename to Source/Images/d_cpm3/u0/SHOW.COM diff --git a/Source/Images/hd_cpm3/s0/u0/SUBMIT.COM b/Source/Images/d_cpm3/u0/SUBMIT.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/SUBMIT.COM rename to Source/Images/d_cpm3/u0/SUBMIT.COM diff --git a/Source/Images/hd_cpm3/s0/u0/TYPE.COM b/Source/Images/d_cpm3/u0/TYPE.COM similarity index 100% rename from Source/Images/hd_cpm3/s0/u0/TYPE.COM rename to Source/Images/d_cpm3/u0/TYPE.COM diff --git a/Source/Images/d_cpm3/u0/ZSID.COM b/Source/Images/d_cpm3/u0/ZSID.COM new file mode 100644 index 00000000..686b3775 Binary files /dev/null and b/Source/Images/d_cpm3/u0/ZSID.COM differ diff --git a/Source/Images/hd0/s2/u0/ALIAS.CMD b/Source/Images/d_nzcom/u0/ALIAS.CMD similarity index 100% rename from Source/Images/hd0/s2/u0/ALIAS.CMD rename to Source/Images/d_nzcom/u0/ALIAS.CMD diff --git a/Source/Images/hd0/s2/u0/ARUNZ.COM b/Source/Images/d_nzcom/u0/ARUNZ.COM similarity index 100% rename from Source/Images/hd0/s2/u0/ARUNZ.COM rename to Source/Images/d_nzcom/u0/ARUNZ.COM diff --git a/Source/Images/hd0/s2/u0/CMD.COM b/Source/Images/d_nzcom/u0/CMD.COM similarity index 100% rename from Source/Images/hd0/s2/u0/CMD.COM rename to Source/Images/d_nzcom/u0/CMD.COM diff --git a/Source/Images/hd0/s2/u0/COMP.COM b/Source/Images/d_nzcom/u0/COMP.COM similarity index 100% rename from Source/Images/hd0/s2/u0/COMP.COM rename to Source/Images/d_nzcom/u0/COMP.COM diff --git a/Source/Images/hd0/s2/u0/COPY.COM b/Source/Images/d_nzcom/u0/COPY.COM similarity index 100% rename from Source/Images/hd0/s2/u0/COPY.COM rename to Source/Images/d_nzcom/u0/COPY.COM diff --git a/Source/Images/hd0/s2/u0/CPSET.COM b/Source/Images/d_nzcom/u0/CPSET.COM similarity index 100% rename from Source/Images/hd0/s2/u0/CPSET.COM rename to Source/Images/d_nzcom/u0/CPSET.COM diff --git a/Source/Images/hd0/s2/u0/CRUNCH.COM b/Source/Images/d_nzcom/u0/CRUNCH.COM similarity index 100% rename from Source/Images/hd0/s2/u0/CRUNCH.COM rename to Source/Images/d_nzcom/u0/CRUNCH.COM diff --git a/Source/Images/hd0/s2/u0/DFA.COM b/Source/Images/d_nzcom/u0/DFA.COM similarity index 100% rename from Source/Images/hd0/s2/u0/DFA.COM rename to Source/Images/d_nzcom/u0/DFA.COM diff --git a/Source/Images/hd0/s2/u0/DFA.NOT b/Source/Images/d_nzcom/u0/DFA.NOT similarity index 100% rename from Source/Images/hd0/s2/u0/DFA.NOT rename to Source/Images/d_nzcom/u0/DFA.NOT diff --git a/Source/Images/hd0/s2/u0/DIR.COM b/Source/Images/d_nzcom/u0/DIR.COM similarity index 100% rename from Source/Images/hd0/s2/u0/DIR.COM rename to Source/Images/d_nzcom/u0/DIR.COM diff --git a/Source/Images/hd0/s2/u0/EASE.COM b/Source/Images/d_nzcom/u0/EASE.COM similarity index 100% rename from Source/Images/hd0/s2/u0/EASE.COM rename to Source/Images/d_nzcom/u0/EASE.COM diff --git a/Source/Images/hd0/s2/u0/EASECMD.COM b/Source/Images/d_nzcom/u0/EASECMD.COM similarity index 100% rename from Source/Images/hd0/s2/u0/EASECMD.COM rename to Source/Images/d_nzcom/u0/EASECMD.COM diff --git a/Source/Images/hd0/s2/u0/EDITNDR.COM b/Source/Images/d_nzcom/u0/EDITNDR.COM similarity index 100% rename from Source/Images/hd0/s2/u0/EDITNDR.COM rename to Source/Images/d_nzcom/u0/EDITNDR.COM diff --git a/Source/Images/hd0/s2/u0/ERA.COM b/Source/Images/d_nzcom/u0/ERA.COM similarity index 100% rename from Source/Images/hd0/s2/u0/ERA.COM rename to Source/Images/d_nzcom/u0/ERA.COM diff --git a/Source/Images/hd0/s2/u0/FF.COM b/Source/Images/d_nzcom/u0/FF.COM similarity index 100% rename from Source/Images/hd0/s2/u0/FF.COM rename to Source/Images/d_nzcom/u0/FF.COM diff --git a/Source/Images/hd0/s2/u0/FINDF.COM b/Source/Images/d_nzcom/u0/FINDF.COM similarity index 100% rename from Source/Images/hd0/s2/u0/FINDF.COM rename to Source/Images/d_nzcom/u0/FINDF.COM diff --git a/Source/Images/hd0/s2/u0/HELP.COM b/Source/Images/d_nzcom/u0/HELP.COM similarity index 100% rename from Source/Images/hd0/s2/u0/HELP.COM rename to Source/Images/d_nzcom/u0/HELP.COM diff --git a/Source/Images/hd0/s2/u0/IF.COM b/Source/Images/d_nzcom/u0/IF.COM similarity index 100% rename from Source/Images/hd0/s2/u0/IF.COM rename to Source/Images/d_nzcom/u0/IF.COM diff --git a/Source/Images/hd0/s2/u0/LDIR.COM b/Source/Images/d_nzcom/u0/LDIR.COM similarity index 100% rename from Source/Images/hd0/s2/u0/LDIR.COM rename to Source/Images/d_nzcom/u0/LDIR.COM diff --git a/Source/Images/hd0/s2/u0/LGET.COM b/Source/Images/d_nzcom/u0/LGET.COM similarity index 100% rename from Source/Images/hd0/s2/u0/LGET.COM rename to Source/Images/d_nzcom/u0/LGET.COM diff --git a/Source/Images/hd0/s2/u0/LPUT.COM b/Source/Images/d_nzcom/u0/LPUT.COM similarity index 100% rename from Source/Images/hd0/s2/u0/LPUT.COM rename to Source/Images/d_nzcom/u0/LPUT.COM diff --git a/Source/Images/hd0/s2/u0/LX.COM b/Source/Images/d_nzcom/u0/LX.COM similarity index 100% rename from Source/Images/hd0/s2/u0/LX.COM rename to Source/Images/d_nzcom/u0/LX.COM diff --git a/Source/Images/hd0/s2/u0/MKZCM.COM b/Source/Images/d_nzcom/u0/MKZCM.COM similarity index 100% rename from Source/Images/hd0/s2/u0/MKZCM.COM rename to Source/Images/d_nzcom/u0/MKZCM.COM diff --git a/Source/Images/hd0/s2/u0/NZCOM.COM b/Source/Images/d_nzcom/u0/NZCOM.COM similarity index 100% rename from Source/Images/hd0/s2/u0/NZCOM.COM rename to Source/Images/d_nzcom/u0/NZCOM.COM diff --git a/Source/Images/hd0/s2/u0/NZCOM.LBR b/Source/Images/d_nzcom/u0/NZCOM.LBR similarity index 100% rename from Source/Images/hd0/s2/u0/NZCOM.LBR rename to Source/Images/d_nzcom/u0/NZCOM.LBR diff --git a/Source/Images/hd0/s2/u0/NZCPR.LBR b/Source/Images/d_nzcom/u0/NZCPR.LBR similarity index 100% rename from Source/Images/hd0/s2/u0/NZCPR.LBR rename to Source/Images/d_nzcom/u0/NZCPR.LBR diff --git a/Source/Images/hd0/s2/u0/NZFCP.LBR b/Source/Images/d_nzcom/u0/NZFCP.LBR similarity index 100% rename from Source/Images/hd0/s2/u0/NZFCP.LBR rename to Source/Images/d_nzcom/u0/NZFCP.LBR diff --git a/Source/Images/hd0/s2/u0/NZRCP.LBR b/Source/Images/d_nzcom/u0/NZRCP.LBR similarity index 100% rename from Source/Images/hd0/s2/u0/NZRCP.LBR rename to Source/Images/d_nzcom/u0/NZRCP.LBR diff --git a/Source/Images/hd0/s2/u0/NZSUB.COM b/Source/Images/d_nzcom/u0/NZSUB.COM similarity index 100% rename from Source/Images/hd0/s2/u0/NZSUB.COM rename to Source/Images/d_nzcom/u0/NZSUB.COM diff --git a/Source/Images/hd0/s2/u0/NZSUB.SUB b/Source/Images/d_nzcom/u0/NZSUB.SUB similarity index 100% rename from Source/Images/hd0/s2/u0/NZSUB.SUB rename to Source/Images/d_nzcom/u0/NZSUB.SUB diff --git a/Source/Images/hd0/s2/u0/P.COM b/Source/Images/d_nzcom/u0/P.COM similarity index 100% rename from Source/Images/hd0/s2/u0/P.COM rename to Source/Images/d_nzcom/u0/P.COM diff --git a/Source/Images/hd0/s2/u0/PATH.COM b/Source/Images/d_nzcom/u0/PATH.COM similarity index 100% rename from Source/Images/hd0/s2/u0/PATH.COM rename to Source/Images/d_nzcom/u0/PATH.COM diff --git a/Source/Images/hd0/s2/u0/POKE.COM b/Source/Images/d_nzcom/u0/POKE.COM similarity index 100% rename from Source/Images/hd0/s2/u0/POKE.COM rename to Source/Images/d_nzcom/u0/POKE.COM diff --git a/Source/Images/hd0/s2/u0/PUBLIC.COM b/Source/Images/d_nzcom/u0/PUBLIC.COM similarity index 100% rename from Source/Images/hd0/s2/u0/PUBLIC.COM rename to Source/Images/d_nzcom/u0/PUBLIC.COM diff --git a/Source/Images/hd0/s2/u0/RELEASE.NOT b/Source/Images/d_nzcom/u0/RELEASE.NOT similarity index 100% rename from Source/Images/hd0/s2/u0/RELEASE.NOT rename to Source/Images/d_nzcom/u0/RELEASE.NOT diff --git a/Source/Images/hd0/s2/u0/REN.COM b/Source/Images/d_nzcom/u0/REN.COM similarity index 100% rename from Source/Images/hd0/s2/u0/REN.COM rename to Source/Images/d_nzcom/u0/REN.COM diff --git a/Source/Images/hd0/s2/u0/SALIAS.COM b/Source/Images/d_nzcom/u0/SALIAS.COM similarity index 100% rename from Source/Images/hd0/s2/u0/SALIAS.COM rename to Source/Images/d_nzcom/u0/SALIAS.COM diff --git a/Source/Images/hd0/s2/u0/SAVE.COM b/Source/Images/d_nzcom/u0/SAVE.COM similarity index 100% rename from Source/Images/hd0/s2/u0/SAVE.COM rename to Source/Images/d_nzcom/u0/SAVE.COM diff --git a/Source/Images/hd0/s2/u0/SAVENDR.COM b/Source/Images/d_nzcom/u0/SAVENDR.COM similarity index 100% rename from Source/Images/hd0/s2/u0/SAVENDR.COM rename to Source/Images/d_nzcom/u0/SAVENDR.COM diff --git a/Source/Images/hd0/s2/u0/SDZ.COM b/Source/Images/d_nzcom/u0/SDZ.COM similarity index 100% rename from Source/Images/hd0/s2/u0/SDZ.COM rename to Source/Images/d_nzcom/u0/SDZ.COM diff --git a/Source/Images/hd0/s2/u0/SHOW.COM b/Source/Images/d_nzcom/u0/SHOW.COM similarity index 100% rename from Source/Images/hd0/s2/u0/SHOW.COM rename to Source/Images/d_nzcom/u0/SHOW.COM diff --git a/Source/Images/hd0/s2/u0/SHSET.COM b/Source/Images/d_nzcom/u0/SHSET.COM similarity index 100% rename from Source/Images/hd0/s2/u0/SHSET.COM rename to Source/Images/d_nzcom/u0/SHSET.COM diff --git a/Source/Images/hd0/s2/u0/SP.COM b/Source/Images/d_nzcom/u0/SP.COM similarity index 100% rename from Source/Images/hd0/s2/u0/SP.COM rename to Source/Images/d_nzcom/u0/SP.COM diff --git a/Source/Images/hd0/s2/u0/SPOP.COM b/Source/Images/d_nzcom/u0/SPOP.COM similarity index 100% rename from Source/Images/hd0/s2/u0/SPOP.COM rename to Source/Images/d_nzcom/u0/SPOP.COM diff --git a/Source/Images/hd0/s2/u0/SUB.COM b/Source/Images/d_nzcom/u0/SUB.COM similarity index 100% rename from Source/Images/hd0/s2/u0/SUB.COM rename to Source/Images/d_nzcom/u0/SUB.COM diff --git a/Source/Images/hd0/s2/u0/TCSELECT.COM b/Source/Images/d_nzcom/u0/TCSELECT.COM similarity index 100% rename from Source/Images/hd0/s2/u0/TCSELECT.COM rename to Source/Images/d_nzcom/u0/TCSELECT.COM diff --git a/Source/Images/hd0/s2/u0/UNCR.COM b/Source/Images/d_nzcom/u0/UNCR.COM similarity index 100% rename from Source/Images/hd0/s2/u0/UNCR.COM rename to Source/Images/d_nzcom/u0/UNCR.COM diff --git a/Source/Images/hd0/s2/u0/VARPACK.COM b/Source/Images/d_nzcom/u0/VARPACK.COM similarity index 100% rename from Source/Images/hd0/s2/u0/VARPACK.COM rename to Source/Images/d_nzcom/u0/VARPACK.COM diff --git a/Source/Images/hd0/s2/u0/VIEW.COM b/Source/Images/d_nzcom/u0/VIEW.COM similarity index 100% rename from Source/Images/hd0/s2/u0/VIEW.COM rename to Source/Images/d_nzcom/u0/VIEW.COM diff --git a/Source/Images/hd0/s2/u0/Z3LOC.COM b/Source/Images/d_nzcom/u0/Z3LOC.COM similarity index 100% rename from Source/Images/hd0/s2/u0/Z3LOC.COM rename to Source/Images/d_nzcom/u0/Z3LOC.COM diff --git a/Source/Images/hd0/s2/u0/Z3TCAP.TCP b/Source/Images/d_nzcom/u0/Z3TCAP.TCP similarity index 100% rename from Source/Images/hd0/s2/u0/Z3TCAP.TCP rename to Source/Images/d_nzcom/u0/Z3TCAP.TCP diff --git a/Source/Images/hd0/s2/u0/ZEX.COM b/Source/Images/d_nzcom/u0/ZEX.COM similarity index 100% rename from Source/Images/hd0/s2/u0/ZEX.COM rename to Source/Images/d_nzcom/u0/ZEX.COM diff --git a/Source/Images/hd0/s2/u0/ZEX.RSX b/Source/Images/d_nzcom/u0/ZEX.RSX similarity index 100% rename from Source/Images/hd0/s2/u0/ZEX.RSX rename to Source/Images/d_nzcom/u0/ZEX.RSX diff --git a/Source/Images/hd0/s2/u0/ZEX4.COM b/Source/Images/d_nzcom/u0/ZEX4.COM similarity index 100% rename from Source/Images/hd0/s2/u0/ZEX4.COM rename to Source/Images/d_nzcom/u0/ZEX4.COM diff --git a/Source/Images/hd0/s2/u0/ZEX4.DOC b/Source/Images/d_nzcom/u0/ZEX4.DOC similarity index 100% rename from Source/Images/hd0/s2/u0/ZEX4.DOC rename to Source/Images/d_nzcom/u0/ZEX4.DOC diff --git a/Source/Images/hd0/s0/u2/ANAGRAM.COM b/Source/Images/d_ws4/u0/ANAGRAM.COM similarity index 100% rename from Source/Images/hd0/s0/u2/ANAGRAM.COM rename to Source/Images/d_ws4/u0/ANAGRAM.COM diff --git a/Source/Images/hd0/s0/u2/CHAPTER1.DOC b/Source/Images/d_ws4/u0/CHAPTER1.DOC similarity index 100% rename from Source/Images/hd0/s0/u2/CHAPTER1.DOC rename to Source/Images/d_ws4/u0/CHAPTER1.DOC diff --git a/Source/Images/hd0/s0/u2/CHAPTER2.DOC b/Source/Images/d_ws4/u0/CHAPTER2.DOC similarity index 100% rename from Source/Images/hd0/s0/u2/CHAPTER2.DOC rename to Source/Images/d_ws4/u0/CHAPTER2.DOC diff --git a/Source/Images/hd0/s0/u2/CHAPTER3.DOC b/Source/Images/d_ws4/u0/CHAPTER3.DOC similarity index 100% rename from Source/Images/hd0/s0/u2/CHAPTER3.DOC rename to Source/Images/d_ws4/u0/CHAPTER3.DOC diff --git a/Source/Images/hd0/s0/u2/DIARY.DOC b/Source/Images/d_ws4/u0/DIARY.DOC similarity index 100% rename from Source/Images/hd0/s0/u2/DIARY.DOC rename to Source/Images/d_ws4/u0/DIARY.DOC diff --git a/Source/Images/hd0/s0/u2/DICTSORT.COM b/Source/Images/d_ws4/u0/DICTSORT.COM similarity index 100% rename from Source/Images/hd0/s0/u2/DICTSORT.COM rename to Source/Images/d_ws4/u0/DICTSORT.COM diff --git a/Source/Images/hd0/s0/u2/FIND.COM b/Source/Images/d_ws4/u0/FIND.COM similarity index 100% rename from Source/Images/hd0/s0/u2/FIND.COM rename to Source/Images/d_ws4/u0/FIND.COM diff --git a/Source/Images/hd0/s0/u2/HOMONYMS.TXT b/Source/Images/d_ws4/u0/HOMONYMS.TXT similarity index 100% rename from Source/Images/hd0/s0/u2/HOMONYMS.TXT rename to Source/Images/d_ws4/u0/HOMONYMS.TXT diff --git a/Source/Images/hd0/s0/u2/HYEXCEPT.TXT b/Source/Images/d_ws4/u0/HYEXCEPT.TXT similarity index 100% rename from Source/Images/hd0/s0/u2/HYEXCEPT.TXT rename to Source/Images/d_ws4/u0/HYEXCEPT.TXT diff --git a/Source/Images/hd0/s0/u2/HYPHEN.COM b/Source/Images/d_ws4/u0/HYPHEN.COM similarity index 100% rename from Source/Images/hd0/s0/u2/HYPHEN.COM rename to Source/Images/d_ws4/u0/HYPHEN.COM diff --git a/Source/Images/hd0/s0/u2/LOOKUP.COM b/Source/Images/d_ws4/u0/LOOKUP.COM similarity index 100% rename from Source/Images/hd0/s0/u2/LOOKUP.COM rename to Source/Images/d_ws4/u0/LOOKUP.COM diff --git a/Source/Images/hd0/s0/u2/MAINDICT.CMP b/Source/Images/d_ws4/u0/MAINDICT.CMP similarity index 100% rename from Source/Images/hd0/s0/u2/MAINDICT.CMP rename to Source/Images/d_ws4/u0/MAINDICT.CMP diff --git a/Source/Images/hd0/s0/u2/MARKFIX.COM b/Source/Images/d_ws4/u0/MARKFIX.COM similarity index 100% rename from Source/Images/hd0/s0/u2/MARKFIX.COM rename to Source/Images/d_ws4/u0/MARKFIX.COM diff --git a/Source/Images/hd0/s0/u2/MOVEPRN.COM b/Source/Images/d_ws4/u0/MOVEPRN.COM similarity index 100% rename from Source/Images/hd0/s0/u2/MOVEPRN.COM rename to Source/Images/d_ws4/u0/MOVEPRN.COM diff --git a/Source/Images/hd0/s0/u2/PATCH.LST b/Source/Images/d_ws4/u0/PATCH.LST similarity index 100% rename from Source/Images/hd0/s0/u2/PATCH.LST rename to Source/Images/d_ws4/u0/PATCH.LST diff --git a/Source/Images/hd0/s0/u2/PRINT.TST b/Source/Images/d_ws4/u0/PRINT.TST similarity index 100% rename from Source/Images/hd0/s0/u2/PRINT.TST rename to Source/Images/d_ws4/u0/PRINT.TST diff --git a/Source/Images/hd0/s0/u2/READ.ME b/Source/Images/d_ws4/u0/READ.ME similarity index 100% rename from Source/Images/hd0/s0/u2/READ.ME rename to Source/Images/d_ws4/u0/READ.ME diff --git a/Source/Images/hd0/s0/u2/README b/Source/Images/d_ws4/u0/README similarity index 100% rename from Source/Images/hd0/s0/u2/README rename to Source/Images/d_ws4/u0/README diff --git a/Source/Images/hd0/s0/u2/REVIEW.COM b/Source/Images/d_ws4/u0/REVIEW.COM similarity index 100% rename from Source/Images/hd0/s0/u2/REVIEW.COM rename to Source/Images/d_ws4/u0/REVIEW.COM diff --git a/Source/Images/hd0/s0/u2/RULER.DOC b/Source/Images/d_ws4/u0/RULER.DOC similarity index 100% rename from Source/Images/hd0/s0/u2/RULER.DOC rename to Source/Images/d_ws4/u0/RULER.DOC diff --git a/Source/Images/hd0/s0/u2/SAMPLE1.DOC b/Source/Images/d_ws4/u0/SAMPLE1.DOC similarity index 100% rename from Source/Images/hd0/s0/u2/SAMPLE1.DOC rename to Source/Images/d_ws4/u0/SAMPLE1.DOC diff --git a/Source/Images/hd0/s0/u2/SAMPLE2.DOC b/Source/Images/d_ws4/u0/SAMPLE2.DOC similarity index 100% rename from Source/Images/hd0/s0/u2/SAMPLE2.DOC rename to Source/Images/d_ws4/u0/SAMPLE2.DOC diff --git a/Source/Images/hd0/s0/u2/SAMPLE3.DOC b/Source/Images/d_ws4/u0/SAMPLE3.DOC similarity index 100% rename from Source/Images/hd0/s0/u2/SAMPLE3.DOC rename to Source/Images/d_ws4/u0/SAMPLE3.DOC diff --git a/Source/Images/hd0/s0/u2/SPELL.COM b/Source/Images/d_ws4/u0/SPELL.COM similarity index 100% rename from Source/Images/hd0/s0/u2/SPELL.COM rename to Source/Images/d_ws4/u0/SPELL.COM diff --git a/Source/Images/hd0/s0/u2/TABLE.DOC b/Source/Images/d_ws4/u0/TABLE.DOC similarity index 100% rename from Source/Images/hd0/s0/u2/TABLE.DOC rename to Source/Images/d_ws4/u0/TABLE.DOC diff --git a/Source/Images/hd0/s0/u2/TEXT.DOC b/Source/Images/d_ws4/u0/TEXT.DOC similarity index 100% rename from Source/Images/hd0/s0/u2/TEXT.DOC rename to Source/Images/d_ws4/u0/TEXT.DOC diff --git a/Source/Images/hd0/s0/u2/TW.COM b/Source/Images/d_ws4/u0/TW.COM similarity index 100% rename from Source/Images/hd0/s0/u2/TW.COM rename to Source/Images/d_ws4/u0/TW.COM diff --git a/Source/Images/hd0/s0/u2/WC.COM b/Source/Images/d_ws4/u0/WC.COM similarity index 100% rename from Source/Images/hd0/s0/u2/WC.COM rename to Source/Images/d_ws4/u0/WC.COM diff --git a/Source/Images/hd0/s0/u2/WINSTALL.COM b/Source/Images/d_ws4/u0/WINSTALL.COM similarity index 100% rename from Source/Images/hd0/s0/u2/WINSTALL.COM rename to Source/Images/d_ws4/u0/WINSTALL.COM diff --git a/Source/Images/hd0/s0/u2/WORDFREQ.COM b/Source/Images/d_ws4/u0/WORDFREQ.COM similarity index 100% rename from Source/Images/hd0/s0/u2/WORDFREQ.COM rename to Source/Images/d_ws4/u0/WORDFREQ.COM diff --git a/Source/Images/hd0/s0/u2/WS.COM b/Source/Images/d_ws4/u0/WS.COM similarity index 100% rename from Source/Images/hd0/s0/u2/WS.COM rename to Source/Images/d_ws4/u0/WS.COM diff --git a/Source/Images/hd0/s0/u2/WS.OVR b/Source/Images/d_ws4/u0/WS.OVR similarity index 100% rename from Source/Images/hd0/s0/u2/WS.OVR rename to Source/Images/d_ws4/u0/WS.OVR diff --git a/Source/Images/hd0/s0/u2/WSCHANGE.COM b/Source/Images/d_ws4/u0/WSCHANGE.COM similarity index 100% rename from Source/Images/hd0/s0/u2/WSCHANGE.COM rename to Source/Images/d_ws4/u0/WSCHANGE.COM diff --git a/Source/Images/hd0/s0/u2/WSCHANGE.OVR b/Source/Images/d_ws4/u0/WSCHANGE.OVR similarity index 100% rename from Source/Images/hd0/s0/u2/WSCHANGE.OVR rename to Source/Images/d_ws4/u0/WSCHANGE.OVR diff --git a/Source/Images/hd0/s0/u2/WSCHHELP.OVR b/Source/Images/d_ws4/u0/WSCHHELP.OVR similarity index 100% rename from Source/Images/hd0/s0/u2/WSCHHELP.OVR rename to Source/Images/d_ws4/u0/WSCHHELP.OVR diff --git a/Source/Images/fd0/u0/WSHELP.OVR b/Source/Images/d_ws4/u0/WSHELP.OVR similarity index 100% rename from Source/Images/fd0/u0/WSHELP.OVR rename to Source/Images/d_ws4/u0/WSHELP.OVR diff --git a/Source/Images/hd0/s0/u2/WSINDEX.XCL b/Source/Images/d_ws4/u0/WSINDEX.XCL similarity index 100% rename from Source/Images/hd0/s0/u2/WSINDEX.XCL rename to Source/Images/d_ws4/u0/WSINDEX.XCL diff --git a/Source/Images/hd0/s0/u2/WSMSGS.OVR b/Source/Images/d_ws4/u0/WSMSGS.OVR similarity index 100% rename from Source/Images/hd0/s0/u2/WSMSGS.OVR rename to Source/Images/d_ws4/u0/WSMSGS.OVR diff --git a/Source/Images/hd0/s0/u2/WSPRINT.OVR b/Source/Images/d_ws4/u0/WSPRINT.OVR similarity index 100% rename from Source/Images/hd0/s0/u2/WSPRINT.OVR rename to Source/Images/d_ws4/u0/WSPRINT.OVR diff --git a/Source/Images/hd0/s0/u2/WSSHORT.OVR b/Source/Images/d_ws4/u0/WSSHORT.OVR similarity index 100% rename from Source/Images/hd0/s0/u2/WSSHORT.OVR rename to Source/Images/d_ws4/u0/WSSHORT.OVR diff --git a/Source/Images/d_zpm3/u0/HELP.HLP b/Source/Images/d_zpm3/u0/HELP.HLP new file mode 100644 index 00000000..428c767a Binary files /dev/null and b/Source/Images/d_zpm3/u0/HELP.HLP differ diff --git a/Source/Images/d_zpm3/u0/ROMWBW.TXT b/Source/Images/d_zpm3/u0/ROMWBW.TXT new file mode 100644 index 00000000..3d2181d5 --- /dev/null +++ b/Source/Images/d_zpm3/u0/ROMWBW.TXT @@ -0,0 +1,51 @@ +This is a generic ZPM3 adaptation for RomWBW. + +To start ZPM3, first boot into CP/M 2.2 or ZSystem. Then +switch to the drive that contains the ZPM3 hard disk image +and run CPMLDR. You will be prompted for the disk unit +of the ZPM3 image. + +You may notice that there is a ZPMLDR application on the +hard disk image. This application is equivalent to CPMLDR, +but it has some issues with the number of drives that +RomWBW supports. So, as indicated above, use CPMLDR to +launch ZPM3. + +I have not found a way to make ZPM3 start up with any drive +other than A: as the system drive. So, during the load +process, the boot drive and drive A: are "swapped" so that +the boot drive is always drive A:. Use the ASSIGN +command after starting ZPM3 to see how the drives get +mapped. + +Per ZPM3 standard, files are distributed across different +user areas depending on their usage. Normal applications +are in user 15. Help files in user 10. Configuration +files in user 14. + +In addition to the applications provided in the ZPM3 +distributio, the normal CP/M 3 files are included in user +area 15. A few typical ZCPR utility programs are also included +in user area 15: + + - ALIAS + - ARUNZ + - ERASE + - HELPC (named ZHELP) + - LBREXT + - SALIAS + - SETPATH + - VERRROR + - VLU + - ZCNFG + - ERASE (named ZERASE) + - ZEX + - ZFILER + - ZP + - SHOW (named ZSHOW) + - ZXD + +It is a bit confusing, but the ZPM3 system file is called CPM3.SYS. +This is the ZPM3 default configuration and I guess it is done this +way to maximize compatibility with CP/M 3. You will notice that +the startup banner will indicate ZPM3. \ No newline at end of file diff --git a/Source/Images/d_zpm3/u10/ALIAS.HLP b/Source/Images/d_zpm3/u10/ALIAS.HLP new file mode 100644 index 00000000..c255ce8e --- /dev/null +++ b/Source/Images/d_zpm3/u10/ALIAS.HLP @@ -0,0 +1,167 @@ +; + + ALIAÓ 1.5 + + The ZCPR3 ALIAS Facility + + A - The ALIAS Command + + E - ALIAS Examples + + S - Summary of ALIAS Variables + +:A + +Command: ALIAS + + Syntax:‚ ALIAÓ [[dir:]cmndname] + +Function: + + Thå ALIAÓ facilitù ió thå scripô expansioî utilitù oæ ZCPR3® +Aî  Aliaó  ió  á  COÍ filå createä bù  thå  ALIAÓ  prograí  whicè +containó  onå  oò morå commandó (separateä bù semicolons©  tï  bå +placeä  iî thå Commanä Linå Buffer® Wheî thå Aliaó  ió  invoked¬ +parameteró  froí thå commanä linå arå implanteä intï  thå  scripô +containeä withiî thå Alias¬ anä thå resultinç ne÷ commanä linå ió +placeä intï thå Commanä Linå Buffeò anä executed. + + +Options: + None + +Comments: + + ZCPR³  MUSÔ  bå implementeä witè aî  Externaì  Commanä  Linå +Buffeò iî ordeò foò ALIAÓ tï work. + + Thå  scripô oæ thå internaì commanä linå supportó  parameteò +passinç  iî á manneò similaò tï ZEØ anä SUB® Thå  variableó  $n¬ +wherå  °  <½  î  <½ 9¬ maù bå placeä intï  thå  script¬  anä  thå +correspondinç  parameteró wilì bå substituteä foò  thå  indicateä +variables® Thå variablå $° ió thå namå oæ thå Aliaó itself® Thå +variablå $ª ió thå entirå taiì oæ thå commanä line. + + + Ne÷  variables¬ $Ä anä $U¬ arå available® $Ä  expandó  intï +thå letteò oæ thå disë whicè waó loggeä iî aô thå timå thå  Aliaó +waó  expandeä (thå homå disk)¬ anä $Õ expandó intï á  numbeò  (iî +ASCIÉ  chars© representinç thå useò areá whicè waó loggeä  iî  aô +thå timå thå Aliaó waó expandeä (thå homå user). + + Thå  ZCPR³ Systeí filå nameó arå availablå tï thå  Aliaó  aó +thå  variableó  $Fî foò NAME.TYP¬ $Nî foò NAMÅ anä $Tî  foò  TYP¬ +wherå  ° <½ î <½ 4® $F° referó tï thå prototypå SH.VAÒ  filenamå +whilå $F± referó tï NAME.TYÐ oæ Systeí Filå 1¬ $N± referó tï NAMÅ +oæ Systeí Filå 1¬ etc® Notå thaô thå SETFILÅ commanä ió useä  tï +definå thå contentó oæ thå Systeí filå names. + + '$$§  expandó intï á singlå '$'® Iî fact¬ anù  unrecognizeä +variablå afteò á '$§ wilì expanä tï itself® + + + Á  ne÷  ALIAÓ  variablå ió introduceä aô  Versioî  1.5¬  thå +Pointer®   Iô  wilì  returî  thå contentó  oæ  anù  knowî  memorù +locatioî (pluó aî optionaì offset)® Iô takeó thå forí.. + $.ADDR[+OFF][[.OFF[+OFF]][.OFF[+OFF]] + + Foò example¬ oî mù NZCOÍ system.. + +$.± (0001H© D50³ Bioó Warí booô entry +$.1-³ (0001H© D50° Beginninç oæ Bios +$.¶ (0006H© C70¶ BDOÓ entry + +$.10¹ (0109H© E78° Z3ENÖ address +$.109.2² (Z3ENV+22H© E88° Z3MSÇ buffeò address +$.109.22+¶ Z3MSG+¶ E88¶ Prograí Erroò Flag +$.109.1¸ (Z3ENV+18H© E90° Z3CÌ address +$.109.18.° (Z3CL© E9xø NXTCHÒ pointer + + + Summary of Alias Variables + + $0 - Name of Alias + $n - Parameter from Command Line (1 <= n <= 9) + + $* - Tail of Command Line (everything after the verb) + + $D - Currenô Drivå Letter + $U - Currenô Useò Number + + $F° ­ Prototypå SH.VAÒ Shelì Variablå File + $Fn - FILENAME.TYP of System File n (1 <= n <= 4) + $Nn - FILENAME of System File n + $Tî ­ TYÐ oæ Systeí Filå n + + $.addò ­ Ne÷ Pointeò variable + + $$ - The character '$' + + + + +Error Messages:‚ (onlù one) + + "Ovfl¢  meanó  thaô  eitheò á particulaò  commanä  taiì  haó +expandeä  beyonä  12¶ characteró anä woulä overflo÷ TBUFÆ  iæ  iô +werå  ruî  oò  thå  expandeä commanä  lines¬  combineä  witè  thå +remaindeò oæ thå contentó oæ thå commanä linå buffer¬ ió toï lonç +tï fiô iî thå commanä linå buffer. + +:S + + Summary of Alias Variables + + $0 - Name of Alias + $n - Parameter from Command Line (1 <= n <= 9) + + $* - Tail of Command Line (everything after the verb) + + $D - Home Disk + $U - Home User + + $F° ­ SH.VAÒ prototypå Shelì Variablå filename + $Fn - FILENAME.TYP of System File n (1 <= n <= 4) + $Nn - FILENAME of System File n + $Tî ­ TYÐ oæ Systeí Filå n + + $.addò ­ Ne÷ Pointeò variable + + $$ - The character '$' + +:E + + Examples of Aliases + +Case 1: + + Thå useò ió constantlù issuinç thå followinç commandó iî thå +ordeò indicated: + + ASM myfile.BBZ + LOAD myfile + + He can generalize it with the following Alias script: + + ASM $1.BBZ;LOAD $1 + + If this Alias is named MYASM.COM, then typing + +"MYASM test" will be equivalent to "ASM test.BBZ;LOAD test" + +Case 2: + + Samå aó Caså ± excepô tï thå Currenô Drive¬ noô  necessarilù +drivå B: + + ASÍ $1.$D$DZ;LOAÄ $1 + +Caså 3: + + Imaginå  yoõ havå changeä diskó iî thå drivå à anä yoõ  wanô +tï displaù itó directorù anä spacå available® Yoõ woulä normallù +executå ^à tï warí boot¬ theî maybå XDIÒ Cº foò thå display®   Aî +aliaó caî reducå thió tï á singlå characteò command¬ X. + + JUMÐ 0;XDIÒ C: + \ No newline at end of file diff --git a/Source/Images/d_zpm3/u10/HP-RPN.HLP b/Source/Images/d_zpm3/u10/HP-RPN.HLP new file mode 100644 index 00000000..3bc6530d --- /dev/null +++ b/Source/Images/d_zpm3/u10/HP-RPN.HLP @@ -0,0 +1,202 @@ +; + ‚ +  --- H P - R P N ---  +   + + RPN Notation for the HP Calculator + + + R -->  RPN Notation  + S -->  Stack Operations  + F -->  Stack Functions  + N -->  Numeric Functions  + H -->  HP Calculator  + Z -->  ZP  +:R +RPΠNotatioî + +Reverså Polisè Notatioî (RPN)¬ alsï calleä postfiø notation¬ ió á simplå +buô powerfuì stacë orienteä notatioî commonlù useä iî Hewlett-Packarä +calculators® Yoõ firsô enteò thå twï numberó yoõ wisè tï operatå on¬ usinç +thå 3«        1² +     9-3=¶     ¹ minuó ³           93­         ¶ +     9*3=2·    ¹ timeó ³           93ª        2· +     9/3=³     ¹ divideä bù ³      93¯         ³ +     9^3=72¹   ¹ tï thå 3rä poweò  93Þ       72¹ +:S +Stacë + +RPÎ ió baseä oî thå stack® Á numbeò ió entereä ontï thå stacë bù keyinç iî +thå digits¬ endinç witè ® Eacè subsequenô numbeò keyeä iî wilì pusè +thå existinç contentó oæ thå stacë onå leveì higher. + +Thå structurå oæ HP'ó ´ leveì stacë ió showî belowº + +               Ô -¾ 000°      Stacë registeò ´ +               Ú -¾ 000°      Stacë registeò ³ +               Ù -¾ 000°      Stacë registeò ² +               -------------------------------------------­ +               Ø -¾ 000°      Stacë registeò ± <­ Displayeä + +HÐ alwayó displayó thå contentó oæ thå Ø register® Wheî thå stacë ió +lifted¬ thå contentó oæ eacè stacë registeò arå moveä uð onå level¬ thå +contentó oæ registeò Ø arå copieä intï Ù anä thå contentó oæ registeò T¬ Šthå topmosô register¬ arå lost. + +Wheî thå stacë ió dropped¬ thå contentó oæ eacè stacë registeò arå moveä +dowî onå leveì anä thå contentó oæ thå Ô registeò arå copieä intï registeò +Z® Thå resulô oæ thå calculatoò operatioî ió placeä iî registeò X. + +Bù enterinç á numbeò ´ timeó tï copù iô intï eacè stacë register¬ thaô +numbeò becomeó á 'constant§ iî thå Ù registeò foò subsequenô chaiî +operations® Eacè subsequenô operatioî wilì droð thå stack¬ restorinç thå +samå 'constant§ valuå tï thå Ù registeò foò thå nexô operation. +:F + Stacë Functionó + +HÐ haó severaì functionó thaô affecô onlù thå stack® Iî eacè oæ theså +examples¬ eacè stacë registeò startó ouô loadeä witè thå numbeò oæ thaô +register. + +Clearinç thå Stacë (^X) + +Control-Ø clearó thå entirå stack® Thå valueó containeä iî thå LAST-Ø anä +memorù registeró arå noô affected® HÐ startó witè á cleaò stacë wheî +loadeä froí disk. + +               Ô -¾ ´         Ô -¾ ° +               Ú -¾ ³         Ú -¾ ° +               Ù -¾ ²         Ù -¾ ° +               ------------------------------------­ +               Ø -¾ ±         Ø -¾ °    <­ Displayeä +                    Keyº ^Ø             (Cleaò stack© + Enterinç á numbeò () + +¬ useä aó thå ENTEÒ key¬ terminateó entrù oæ á numbeò anä placeó iô oî +thå stack® Iô alsï separateó twï numberó entereä onå afteò thå other® © oò dowî (<) + +Wheî thå stacë ió rolleä up¬ thå stacë ió lifteä onå leveì anä thå previouó +valuå oæ Ô ió moveä dowî tï X® Wheî thå stacë ió rolleä down¬ thå stacë ió +droppeä onå leveì anä thå previouó valuå oæ Ø ió moveä uð tï T® Nï valueó +arå lost. + +               Ô -¾ ´         Ô -¾ ³    Valuå froí Ô moveä +               Ú -¾ ³         Ú -¾ ²         dowî tï Ø +               Ù -¾ ²         Ù -¾ ± +               ------------------------------------­ +               Ø -¾ ±         Ø -¾ ´    <­ Displayeä +                    Keyº ¾              (Rolì Up© + +               Ô -¾ ´         Ô -¾ ±    Valuå froí Ø moveä +               Ú -¾ ³         Ú -¾ ´         uð tï Ô +               Ù -¾ ²         Ù -¾ ³ +               ------------------------------------­ +               Ø -¾ ±         Ø -¾ ²    <­ Displayeä +                    Keyº ¼              (Rolì Down© + Exchangå contentó oæ Ø anä Ù (=) + +Thå contentó oæ registeró Ø anä Ù arå exchanged® Nï otheò registeró arå +affected® Thió functioî ió usefuì wheî yoõ neeä tï reverså thå ordeò oæ thå +operandó beforå yoõ perforí aî operatioî sensitivå tï thå ordeò oæ thå +operands¬ sucè aó subtraction¬ division¬ oò exponentiation. + +               Ù -¾ ²         Ù -¾ ± +               ------------------------------------­ +               Ø -¾ ±         Ø -¾ ²    <­ Displayeä +                    Keyº ½              (X<>Y© + Lasô Ø (L) + +Wheî á numeriã functioî ió executed¬ á copù oæ thå lasô valuå iî thå Ø +registeò beforå thå functioî ió executeä ió saveä iî thå Last-Ø register® +Thaô valuå caî bå restoreä tï thå Ø registeò usinç thå 'L§ key® Thå stacë +ió lifted¬ movinç thå currenô contentó oæ thå Ø registeò tï thå Ù register¬ +etc® Thå valuå iî thå Last-Ø registeò ió noô affected. + +               Ô -¾ ³         Ô -¾ ³         Ô -¾ ³ +               Ú -¾ ²         Ú -¾ ³         Ú -¾ ² +               Ù -¾ ±         Ù -¾ ²         Ù -¾ ¹ +               ------------------------------------------------­ +     Last-Ø -¾ Ø -¾ ¸         Ø -¾ ¹         Ø -¾ ¸ <­ Displayeä +                    Keyº «         Keyº Ì           (Last-X© +                         (1+8=9© +:N +Numeriã Functionó + +Wheî yoõ wanô tï keù iî twï numbers¬ onå afteò thå other¬ yoõ uså thå  Overview  + H -->  Invoking HP  + D -->  Display Modes  + S -->  Stack  + E -->  Entering Numbers  + F -->  Math Functions  + M -->  Memory Registers  + N -->  RPN Notation  + Z -->  ZP  +:O +Overview + +HÐ ió á simplå anä verù usefuì programmer'ó integeò calculatoò modeleä +afteò á Hewlett-Packarä calculatoò witè RPÎ notation® + +HÐ caî operatå iî anù oæ fouò displaù modesº hexadecimal¬ decimal¬ binary¬ +anä character¬ makinç iô verù usefuì foò quicklù convertinç integeò numberó +froí onå baså tï another® Iô caî dï integeò addition¬ subtraction¬ +multiplication¬ division¬ exponentiatioî anä bitwiså logicaì ANÄ anä OÒ +operations® Iô haó á ´ leveì stacë anä ¶ memorù storagå registers. + +Alì HÐ internaì storagå anä arithmetiã ió unsigneä 1¶ bit® Thuó 6553· +becomeó 00001¬ -± becomeó 65535¬ anä sï on® Multiplicatioî anä +exponentiatioî overflo÷ anä divisioî bù ° wilì generatå errors® Iî binarù +anä characteò modes¬ thå displaù showó onlù thå lowesô ¸ bitó oæ 16¬ sï 8- +biô overflo÷ doeó noô usuallù causå aî error. + +Iæ yoõ arå noô familiaò witè RPÎ notation¬ see the section on RPN notation, +whicè alsï haó morå detaiì oî ho÷ HÐ useó itó stacë durinç stacë anä +numeriã operations. +:H +Invoking HP + +Uså ^à tï invokå HP® Iô wilì displaù itó singlå operatinç linå anä waiô +foò youò input: + +   H¾ 0000 + +Thå 'H>§ indicateó hexadecimaì displaù modå (thå defaulô displaù mode)¬ anä +'0000§ ió thå fouò digiô heø calculatoò displaù oæ registeò X¬ whicè ió thå +registeò alwayó displayed® Thå HÐ stacë anä memorù arå initializeä tï zerï +wheî ZP ió firsô loadeä into memory. + + Exiting HP  + +Uså ^à tï exiô HÐ anä returî tï ZP® Wheî yoõ uså ^à tï reruî HP¬ yoõ wilì Šreturî tï iô jusô wherå yoõ lefô off® +:D +Display Modes + +HÐ caî operatå iî anù oæ fouò displaù modesº hexadecimal¬ decimal¬ binary¬ +anä character¬ makinç iô verù usefuì foò quicklù convertinç integeò numberó +froí onå baså tï another® Tï changå displaù modes¬ enteò thå escapå H® Iî heø mode¬ numberó displaù +aó fouò heø digitó froí 0000-FFFF. + +Decimaì Displaù Mode + +Tï selecô thå decimaì displaù mode¬ enteò D® Iî decimaì mode¬ numberó +displaù aó fivå decimaì digitó froí 00000-65535. + +Binarù Displaù Mode + +Tï selecô thå binarù displaù mode¬ enteò B® Iî binarù mode¬ thå leasô +significanô bytå oæ thå numbeò displayó aó ¸ binarù digits from +00000000-11111111. + Character Display Mode + +Tï selecô thå characteò displaù mode¬ enteò C® Iî characteò mode¬ thå +leasô significanô · bitó oæ thå numbeò displaù aó aî ASCIÉ character® +Controì characteró arå indicateä bù á '^§ prefix® Foò example¬ 03È wilì +displaù aó '^C§ anä DEÌ (7FH)¬ wilì displaù aó '^?'. + +Alì non-commanä characteró caî bå directlù entereä aó datá iî thå characteò +displaù mode® Characteró thaô havå commanä functionó sucè aó 'L'¬ '/'¬ +'='¬ ^C¬ Y)® Nï otheò registeró arå affected® Thió +functioî ió usefuì wheî yoõ neeä tï reverså thå ordeò oæ operandó beforå +performinç á functioî sensitivå tï operanä ordeò sucè aó subtraction¬ +divisoî oò exponentiation. + Last-X + +Wheî á numeriã functioî ió executed¬ á copù oæ thå lasô valuå iî thå Ø +registeò beforå thå functioî ió executeä ió saveä iî thå Last-Ø register® +Thaô valuå caî bå restoreä tï thå Ø registeò usinç thå 'L§ (oò 'l'© key® +Thå stacë ió lifted¬ pushinç thå currenô contentó oæ thå Ø registeò tï thå +Ù register¬ etc¬ unlesó stacë lifô haó beeî disableä bù thå § (oò thå unshifteä equivalenô '.'© tï +rolì iô uð onå leveì anä '<§ (oò ','© tï rolì iô dowî onå level® Wheî thå +stacë ió rolleä up¬ thå contentó oæ alì stacë registeró arå moveä uð onå +leveì anä thå valuå iî thå toð stacë registeò ió moveä dowî tï thå Ø +register® Wheî thå stacë ió rolleä down¬ thå contentó oæ alì stacë +registeró arå moveä dowî onå leveì anä thå valuå iî thå Ø registeò ió moveä +uð tï thå toð stacë register® Nï stacë valueó arå losô aó á resulô oæ +stacë rolì operations. +:E +Entering Numbers + +Invokå HÐ anä trù enterinç thå followinç sequencå oæ keys: + + ^X Ä ± ., + +aó welì aó thå controì characteró ^X¬ ^à anä s§ insteaä oæ 's'¬ +sincå enterinç 's§ initiateó á storå tï á memorù register. +:F +Math Functions + +HP'ó integeò numeriã functionó anä thå keyó tï invokå theí are: + + + Addition, X=Y+Ø +     - Subtraction, X=Y-Ø +     * Multiplication, X=Y*Ø +     ^ Exponentiation, X=Y^Ø (Ù tï thå Xtè power© +     / Integer quotient, X=INT(Y/X© + - Remainder Register R=X*(Y/X-INT(Y/X)© +     & Bitwise AND, X=Y&X +     | Bitwise OR, X=Y|X +     ~ Negation [2's complement], X=~X + +Negatioî affectó onlù thå Ø register® Thå otheò operationó uså thå numberó +iî thå firsô twï registeró Ø anä Ù aó operands¬ anä displaù thå resulô iî +thå Ø register¬ droppinç thå stack. + +Wheî aî integeò divisioî ió performed¬ yoõ arå ofteî interesteä iî botè thå +quotienô anä thå remainder® Thå remaindeò ió saveä iî thå speciaì reserveä +memorù registeò Ò durinç thå divisioî operation® Memorù registeò Ò maù bå +accesseä jusô likå anù oæ thå regulaò memorù registeró 0-5® Iô maù alsï bå +useä tï storå numberó likå anù otheò register¬ buô anù contentó wilì bå +overwritteî bù thå remaindeò durinç integeò divisioî operations. + +Thå consolå belì wilì rinç iæ aî undefineä keù ió presseä aó aî operator® +Iô wilì alsï rinç anä thå currenô multiplicatioî (*)¬ divisioî (/© oò +exponentiatioî (^© functioî wilì noô operatå iæ 16-biô overflo÷ occuró oò +iæ divisioî bù ° ió attempted® Thå stacë ió lefô unchanged® Uså thå +backspacå keù tï deletå thå offendinç operanä iæ yoõ wisè tï trù again. +:M +Memory Storage Registers + +Therå arå ¶ memorù storagå registeró numbereä 0-µ thaô maù bå useä tï storå +constantó oò intermediatå valueó durinç calculations¬ foò recalleä aó +needeä later® Thå contentó oæ memorù registeró arå noô affecteä bù thå +cleaò stacë (^X© operation® Eitheò uppeò oò loweò caså letteró maù bå useä +tï specifù memorù registeò Storå oò Recalì functions. + +Storing a Number + +Thå numbeò iî thå Ø registeò maù bå storeä iî anù oæ thå memorù registeró +usinç thå commanä 'S§ followeä bù thå numbeò oæ thå desireä memorù +register® Thå previouó contentó oæ thå memorù registeò wilì bå +overwritten¬ buô thå numbeò iî thå Ø registeò wilì noô bå affected® Foò +example¬ tï storå thå numbeò iî registeò Ø iî memorù registeò 2¬ enteò +'S2'® + Recalling a Number + +Numberó maù bå recalleä froí á memorù registeò tï registeò Ø usinç thå 'R§ +commanä followeä bù thå numbeò oæ thå memorù register® Thå stacë wilì bå +lifted¬ pushinç thå previouó contentó oæ registeò Ø intï registeò Y¬ buô +thå numbeò iî thå memorù registeò wilì noô bå affected® Foò example¬ tï +recalì memorù registeò ° tï registeò X¬ enteò 'R0'. + +Remainder Register + +Aî additionaì speciaì memorù registeò Ò ió useä bù thå divisioî operatioî +tï storå thå remainder® Iô maù alsï bå useä tï storå anä recalì numbers¬ +buô anù contentó wilì bå overwritteî durinç á divisioî operation® Thå +commanä 'RR§ (Recalì Remainder© afteò á divisioî operatioî wilì storå á +copù oæ thå remaindeò iî registeò Ø anä pusè thå quotienô tï registeò Y® +Aî exchangå (=© operatioî wilì swað theí iæ desired® +:N:HP-RPN.HLP +:Z:ZP.HLP + \ No newline at end of file diff --git a/Source/Images/d_zpm3/u10/IF.HLP b/Source/Images/d_zpm3/u10/IF.HLP new file mode 100644 index 00000000..f4a18dd9 --- /dev/null +++ b/Source/Images/d_zpm3/u10/IF.HLP @@ -0,0 +1,172 @@ +; + IF.COM  + + Author: Jay Sage + Version: 1.6 (includes type 4 for Z34) + Last Update: 4/28/89 + + + 1- Overview 4- Error Messages + 2- Syntax 5- Examples of use + 3- Options + +:1 +Overview of IF.COM + + IF is the transient counterpart of the FCP-resident IF command. IF.COM +tests the indicated condition to see if it is TRUE and, if so, sets the Flow +State to TRUE (allowing the following commands to execute). If the condition +is FALSE, the Flow State is set to FALSE (allowing only Flow Commands to +execute). + + IF.COM is invoked if the current FCP has the IF.COM facility enabled. If +this is the case, whenever an IF command is issued, the FCP will load IF.COM +from the ROOT directory into memory and execute it. The command tail is +passed to IF.COM, and IF.COM acts as a conventional COM file. + + Under NZFCP distributed with NZ-COM and ZCPR vs. 3.4, IF.COM is invoked +only if the indicated condition is NOT included in the condition set +available with the resident FCP. IF.COM may be invoked directly if its +invocation is preceeded by a colon, i.e. :IF .. etc. +:2 + Syntax: (1) IF ARG1=ARG2 + (2) IF REGISTER# value + (3) IF CONDITION ARGUMENTS + + In form (1), the arguments are tested for literal equality and must match +character for character. No space is permitted preceeding or following the +equal sign. A more flexible comparison is provided by using form (3) with the +comparison conditions, i.e. IF EQ ARG1 ARG2 or IF = ARG1 ARG2. This form +permits the use of the condition set EQ, NE, GT, GE, LT, LE as well as their +symbolic equivalents =, <> or ><, >, >=, <, <=. + + In all forms which permit or require the use of numeric values such as form +(2) or the VALUE and REG conditions, numeric entry may be specified as octal, +binary or hexadecimal by appending the letters o, b or h to the number. + + In form (3), only the first two letters of the condition are signifigant. + + A '~' may be used to negate all conditions in forms (2) and (3). +:3 + Options: + +T - Flow State set to unconditionally to TRUE + +F - Flow State set unconditionally to FALSE Š +AMBIG fnme - Flow state set TRUE if file name is ambiguous + +ARCHIVE fnme - Flow state set TRUE if archive attribute set + +BG - Flow state set TRUE if BackGrounder present + +COMPR fnme - Flow state set TRUE if file is squeezed or Crunched + +DS - Flow state set TRUE if DateStamper present + +EMPTY afn,... - if any file in indicated list is EMPTY (size is 0k), + Flow State is set to TRUE + +ERROR [value] - if ZCPR3 error flag is set, Flow State is set to TRUE. If + value is present, flow state is set TRUE only if error + number matches value. + Options (continued): + +EXIST afn,... - if all files in the list exist, Flow State is set to TRUE + +INPUT [text] - user input is enabled, and if user strikes T, Y, , or + , Flow State is set to TRUE. Text appears as a prompt and + may use '^' to generate control characters, %< to display + upper case, %> to display lower case and ctl-a/ctl-b to + enable/disable screen standout mode. + +LIST tail - Flow state set TRUE if tail contains items separated by commas + +NULL afn - if no 'afn' (field is blank), then Flow State is set to TRUE + +PAUSE n [txt} - Like INPUT above except that Flow State is automatically + set to True if user does not respond within n seconds. + +REG m op n - Flow state set TRUE if expression is true. M is a register + number, n is a test value and op is a member of the operator + set =, <>, ><, >, >=, <, <=. All can be negated with '~'. + +RO fnme - Flow state set TRUE if file Read Only attribute set + Options (continued): + +SHELL [name] - Flow state set TRUE if a shell is on shell stack. If name is + present, it is compared to the name on the top of the shell + stack and the flow state set TRUE if they match. Name may + ambiguous. + +SYS fnme - Flow state set TRUE if file Sys attribute set + +TAG fnme n - Flow state set TRUE if attribute n set in file name. + +TCAP [string] - if a Z3TCAP is installed, Flow State is set to TRUE. If + string is present it is compared to the TCAP ID string (up + to the length of the former) and the flow state set TRUE if + they match. String may contain '?' wildcards. + +VALUE m op n - Flow state set TRUE if expression is true. M and n are values + and op is an operater from the set =, <>, ><, >, >=, <, <=. + All can be negated with '~'. + +WHEEL - if WHEEL byte set, Flow State is set to TRUE + Options (continued): + +ZEX - Flow state set TRUE if ZEX is running + +reg# value - if reg (0-31) has indicated value (0-255), Flow State is + set to TRUE + +afn1=afn2 - if two afns are identical in name, Flow State is set to TRUE + + A leading tilde (~) char before a condition negates the effect of the +condition. If the condition is FALSE, the Flow State is set to TRUE. For +each condition, only the first two chars are significant (eg. NU for NULL). + +Examples: "IF ~T" is the same as "IF F" + "IF ~NULL arg" is TRUE if 'arg' is non-blank + "IF ~EXIST afn,..." is TRUE if any 'afn' in the + list does not exist. +:4 +Error Message: + +IF.COM generates several error messages relating to improper entry of +condition arguments. These messages are self-explanatory. See the help for +IF.COM Options for correct syntax for each condition. + +The message 'IF overflow' indicates a nesting beyond the permitted 8 levels. +:5 +Examples of Use: + + a. IF NULL $1 + - if the indicated parameter (from within a SUBMIT or ZEX command file) + is not provided, set the Flow State to TRUE + + b. IF ~EXIST ZEX.ASM,ZEX.ZEX + - if any one of these files does not exist, Flow State is set to TRUE + + c. IF EXIST ZEX.ASM,ZEX.ZEX + - if any one of these files does not exist, Flow State is set to FALSE + (i.e., all files must exist for a TRUE Flow State) + + d. IF NEC=$1 + - if the first passed parameter is the same as the file name "NEC.", + then the Flow State is Set to TRUE + + e. IF 5 7h + - if Register 5 = 7 hexidecimal, the Flow State is Set to TRUE + + Examples (continued): + + f. IF LT $1 FEE + - if the first passed parameter preceeds 'FEE' in alphabetical order, + the flow state is set to TRUE. + + +============================================================================== + + Z-System HELP file on 'flow-control' commands (IF, IF.COM, IFSTAT.COM, +ELSE, FI, XIF, etc.). + \ No newline at end of file diff --git a/Source/Images/d_zpm3/u10/MENU.HLP b/Source/Images/d_zpm3/u10/MENU.HLP new file mode 100644 index 00000000..d4d59aa5 --- /dev/null +++ b/Source/Images/d_zpm3/u10/MENU.HLP @@ -0,0 +1,23 @@ +; + ZHELP - Online Documentation for Z3 Tools + + A - Alias (The ZCPR3 ALIAS Facility) + I - IF (Conditional Command Processor) + V - VLU (Visual Library Utility) + F - ZFiler (Point and Shoot Shell) + Z - ZPatch (File/Disk/Memory Record Patcher) + +ZHELP can also be used to access help files directly by +entering ZHELP followed by the name of the help file. + +The Z3 help files are stored in user area 10. You can view the +directory of this user area for a listing of help topics available. + +To access help for the standard CP/M Plus programs, use the +command HELP. + +:A:ALIAS.HLP +:I:IF.HLP +:V:VLU.HLP +:F:ZFILER.HLP +:Z:ZP.HLP \ No newline at end of file diff --git a/Source/Images/d_zpm3/u10/VLU.HLP b/Source/Images/d_zpm3/u10/VLU.HLP new file mode 100644 index 00000000..cd46ce89 --- /dev/null +++ b/Source/Images/d_zpm3/u10/VLU.HLP @@ -0,0 +1,499 @@ +:VLU106 +Copyright 1987, 1988 Esoteric Software Michal Carson + + +This program is distributed through ZSIG. + + + + +VLU is a ZCPR3-specific library utility with crunch, uncrunch, and +unsqueeze capabilities. It will allow the user to view, +uncompress, or extract library members or to view, uncompress +(uncrunch or unsqueeze, VLU will decide), or crunch disk files. +VLU will build libraries from disk files, crunching the files as +they are added. Date and time stamping is supported. + +The utility will display a list of disk files on the screen along +with a cursor and other information. Placing the cursor next to +the name of a file with the extension .LBR and pressing 'O' for +Open will display the contents of the library and shift the cursor +into that directory. + + +What is a Library? + + +The Library file format was developed to overcome two persistent +limitations of CP/M disk storage capacity: limited directory +entries and large blocking. + +Although CP/M writes files in units of 128 bytes (sectors), most +manufacturers have used larger blocks for storage on disk. On a +Kaypro with double-sided disks, for instance, all files are stored +in 2K blocks; even a file one sector in length will occupy 2K on +the disk. Because the Kaypro disk format allows only 64 directory +entries (files) on one disk, 64 of these 1-sector files (8K) will +fill a 390K disk. + +In a library, a one sector file occupies one sector (plus 32 bytes +for internal directory information). The library itself occupies +only one directory entry on the disk. If 64 one-sector files are +placed into a library, the library will occupy 10K. + +This is obviously an extreme example but illustrates the +usefulness of libraries. Other reasons exist; for instance, +libraries keep related files together. VLU will make files within +libraries more accessible. + + +What is an ARC? Which is better? + + +An ARC is another popular format for storing files in reduced space. +ARCs store files sequentially each preceded by its own header of +information which may be 18 to 29 bytes. LBRs use a 32 byte +directory entry at the beginning of the LBR; the directory +indicates where the matching file may be found. + +The information stored in an ARC file header is similar to the +information stored in an LBR directory. Both formats store the +file name, exact file length, the last modification date and time, +and a CRC-16 for integrity. LBRs also store the file's creation +date and time. + +There are many arguments in favor of each format. To the casual +user, these arguments are not important and either format will +serve for any purpose--long-term or short, organizational, +archival, or for transfer. Neither format is an effective storage +format for sequential access devices such as tape. Anyone who +insists on the absolute superiority of one format over the other +is behaving parochially. + +VLU is the best effort to date in supporting the complete +Novosielski LBR definition. A like effort expended on behalf of +the ARC format might make it similarly useful. + + +In this Library + + +Two executable versions are distributed: VLUxxx-R.COM is for +machines using reverse video as highlighting. VLUxxx-D.COM is for +machines using dim video as highlighting. VLU.FOR is a short +description of the utility; VLU.HLP is full documentation +compatible with the ZCPR3 HELP text display utility. VLU.UPD +contains a trail of the changes in VLU since its initial release. + + +The Help display + + +Pressing "/" or "?" will evoke a display summarizing the commands +available to the user. These commands change according to Wheel +status and directory choice (e.g., Delete is not available in the +library and is never available to non-wheels). Pressing either of +these keys a second time will clear the display. + + +Invoking VLU + + +Use VLU as an extension to a ZCPR3 shell, such as ZFiler, invoked +through a macro. To install it, one need only open the ZFILER.CMD +file with a word processor and enter a line of the form "1 vlu". +Thereafter, positioning ZFiler's cursor beside a library file and +pressing "1" (possibly preceded by [esc]) will bring up VLU with +the library already open. A better thought is to assign this +macro to the "O" key--"O $d1$u1:;vlu" in ZFILER.CMD--so that [esc] +"O" will open the indicated library. + +Some aspects of VLU were designed to make it an extension of +tools like ZFiler. Most of these tools use the ZCPR system files +to store the name of the current file (the file the cursor was +pointing to on exit). VLU checks these filenames and interprets +the current file (sys file 2) as a library. On starting up, VLU +will try to open a library file of this name in the current +directory. + +This allows the user to invoke VLU from the "Z" prompt of ZFiler +or through a macro, pass no parameters, yet open the current file +if it is a library (or shares the same name as a library though it +may have a different extension). If a different library is opened +before returning to ZFiler, VLU will modify the filename in +system file 2 (and thus cause ZFiler to believe it was pointing to +this library when it exited). + +As a command file, VLU can, of course, be invoked from the system +command prompt. If a library name is entered on the command line, +that name will take priority over any name currently in system +file 2 and the library will be opened if it exists. Even from +ZFiler's "Z" prompt, with the pointer on ABC.LBR, entering the +command "VLU DEF" will open DEF.LBR and place that name into +system file 2. + +If the invocation is followed by a DU: specification or by the +name of a ZCPR named directory (DIR:), VLU will display the +filenames in that directory instead of the default directory. +That is, "VLU TOOLS:" will display the contents of the TOOLS: +directory. + +VLU can be re-entered with the GO command. + + +Changing libraries + + +When a library is opened, when VLU is invoked with a library name +in the command line, or when a new directory is logged in with a +library open, the VLU cursor will point into the library +directory. Pressing the [esc] key will shift the cursor back into +the disk directory. Opening a different library is as simple as +positioning the cursor in front of the name and pressing "O". + + +Cursor motion + + +Moving the cursor (pointer) in VLU is effected using the WordStar +cursor motion controls. Ctrl-E moves the cursor up one line, ctrl- +X moves it down. Ctrl-S moves the cursor left one file, ctrl-D +moves it right. Ctrl-F brings a new directory onscreen if there +are more files in the directory (as if the display were moving +right by a directory), ctrl-A moves back toward the beginning of +the file list. Ctrl-F will wrap around from the final directory +to the original. + +The arrow keys will also function if they are properly defined in +the users Environment descriptor. The symbols "+" and "-" (and +"=", the usual non-shifted counterpart of "+") have the same +effect on the directories as ctrl-F and ctrl-A, respectively. + +The [esc] key shifts directories: from the library to the disk, +from the disk to library. In most instances the cursor will +"remember" where it was when it last pointed into that directory. + + +Extracting and Uncompressing library members + + +Positioning the cursor beside the name of a member file within a +library and pressing "E" for Extract will cause the file to be +copied from the library to the disk with no change in form. If it +is crunched or squeezed within the library, it will be crunched or +squeezed on the disk. + +Pressing "U" for Uncompress will cause a crunched file to be +uncrunched onto the disk, a squeezed file to be unsqueezed onto the +disk, or an uncompressed file to be extracted sic. + + +Changing directories + + +Library members may be extracted to a disk and/or user area other +than the one which contains the library. Open the library first, +then use the Login command to move to the destination directory +and perform the extraction or decompression. The move is +accomplished by pressing "L" (cursor position makes no difference +with this command) and answering the prompt "Directory ". The +user may enter a DU: specification (e.g., A0:, B14:, F:) or the +name of a ZCPR3 named directory to be found in the current system +(e.g., MODEM:, DUNGEON:). The colon is not necessary in any case +and an invalid directory or denied access will relog the current +area. No entry at all will also relog the current area to +facilitate disk changes. + + +Tagging files + + +The "T" command will tag an untagged file and the "Y" command will +remove the tag from a tagged file. The tag appears as a hash (#) +immediately following the filename. After a group operation +(actually, during the group operation) hard tags represented by +the hash are replaced by soft tags which appear as an apostrophe +('). Soft tags may be transformed back into hard tags by the +retag command: "#". + +Wildcard tagging is accomplished by pressing "W" and providing a +wildcard file specification in response to the prompt. All files +in the directory, starting from the beginning, which match the +file spec will be tagged. + +Group Tag ("GT") is equivalent to a *.* wildcard tag. + +It may be convenient at times to untag all files. This can be +accomplished by relogging the directory with the Login command. +Certain file operations which affect the disk directory (anything +that adds or deletes files) will also end by relogging the +directory and any remaining tags will be erased. Group operations +obviously prevent this relogging until all files have been +operated upon. + + +Group operations + + +"G" will evoke the Group prompt. From this prompt, several +commands are available to wheels. Only the View and Tag commands +are available to non-wheels. If the wheel byte is not zero, the +prompt will indicate by the first letter of each command that +View, Tag, Uncompress, crunch, and either Extract or Delete and +Build are available. Any selection is carried out on all tagged +files. The Group manager will check for ctrl-C between each file +and abort if it is seen. + + +Viewing files and library members + + +Crunched, squeezed, and uncompressed files may be viewed by +pressing "V" at the VLU prompt. The screen will clear and the +file's name will appear at the top of the screen. Just below the +filename, the file's datestamps, if present, will be shown. These +will be taken from the disk in the case of ordinary text files, +from the library directory if the file is a member, or from the +internal datestamp of a compressed file. The display will stop +with the prompt "[strike any key]" after, in general, 22 lines. +The number of lines (the size of a screen page) is taken from the +ZCPR3 Environment descriptor. The number provided there, by +convention, is two lines less than the screen height. This should +give the viewer two lines of overlap with each page. If this is +unsatisfactory, the user's Environment descriptor can be adjusted. + +At any time during the viewing, pressing ctrl-S will pause the +display. Pressing ctrl-C will abort the operation. Under Group +control, ctrl-C will abort the entire operation and no more files +will be presented; the user will be returned to the file directory +display. Unscreened files will remain tagged. Ctrl-X may be used +to skip to the next file under Group execution; it has the same +effect as ctrl-C if only one file is being viewed; id est, we +abort. + +At the "[strike any key]" prompt, pressing the period will bring +one more logical line to the screen. + +Ctrl-Z will suppress the "[strike any key]" prompt and the file +will scroll continuously. The viewer is then left with ctrl-S to +stop the display (and any key except ctrl-X and ctrl-C will +restart it). Another Ctrl-Z will restore the paging mode and +stop the screen immediately. This is handy for long files when +the interesting text is near the end. + +Certain file extensions are proscripted (e.g., COM, LBR, ARK, SYS, +RCP, REL, PRL, etc.) and VLU will give the message "may not type" +followed by the file name. Crunched files of proscripted types +may have a "stamp" of interest to the user. If a proscripted file +is crunched, VLU will give the filename as it appears and attempt +to extract the original filename and any stamp contained in the +first record of the file. Thus, the datestamps of COM and REL +files may be inspected using the View command. + + +Crunching disk files + + +The crunching faculty of VLU is incidental. Because of the Group +operations, it is quite useful but, ab ovo, crunching files on +disk has been secondary to the project of crunching files into +libraries. Selecting "K" at the command prompt will cause VLU to +crunch the file pointed to by its cursor. + +VLU will first prompt for a "stamp." By convention, this is a +message of up to 40 characters enclosed in square brackets. The +message is imbedded in the first record of the crunched file to be +displayed when the file is either uncrunched or viewed. Often, +the message reports the date of the crunching, the author or +origin of the file, or its expanded size. + +VLU will allow the entry of up to 38 characters. Two characters +are reserved so that VLU can insert the square brackets if the +user omits one or both. VLU will remove any trailing spaces from +the message; if the user wishes the spaces to appear, the user +must enter at least the final closing bracket. + +VLU will also imbed the current datestamp of the file, if present, +in the form established by CRUNCH23D. To use the datestamp in +place of a text stamp simply type a return at the "Enter stamp" +prompt. + +The crunching operation will be aborted if the file is already +compressed (either crunched or squeezed) or is of a proscripted +filetype. Proscripted filetypes are ARC, ARK, BAD, and, if the +target is a library, FOR and CIM (vide infra). + +VLU will allow the user to crunch a member out of a library onto +the disk. There seems no harm in such an operation (and as little +use). + + +File size report + + +The size of a file in kilobytes and sectors (records) is reported +when the user presses either "F" or carriage return. If the file +is a library member, size is reported to the nearest higher 1K. +If the file is on disk, size is reported according to the blocking +factor of the disk. + + +Renaming files + + +To rename a library member or a disk file, position the cursor +beside the file and press "R". Enter the new name at the prompt. + + +Deleting files + + +To delete a library member or a disk file, position the cursor +beside the file and press "D". The user will be prompted to +confirm that the file is to be deleted. Under Group Delete, the +first prompt applies to all tagged files. Answering Yes to this +prompt will delete all files with no further prompts. Answering +No will abort the operation entirely (no files deleted). +Answering Verify will cause a prompt to appear for each file in +the group. + + +Building libraries + + +In order for VLU to build a library, all files to be included +must be located in the same directory. The library may, if +necessary, be built in a foreign directory. + +As distributed, VLU will crunch all files as they are added to the +library (unless the extension is unacceptable as previously +stated). See the configuration section for possible attenuation +of this practice. + +VLU does have limits governing the maximum size library it may +build or deal with. Those limits will vary with the size of the +current TPA. Most users will never approach VLU's limits, but for +curiosity's sake, a TPA of 58K is sufficient to manipulate a +library of over 1200 members. + +To initiate the construction, tag the files which are to be +included and then type "GB" for Group and Build. VLU will prompt +for the name and directory of the "new library" and the number of +entries to allow. A carriage return at the "entries" prompt will +build a library with the minimum directory size, only large enough +to accommodate the currently tagged files. If you specify the +number of members (say, 40), VLU will build a library large enough +to hold at least this many members and will report the actual +number of possible entries ("initializing 43 entries"). + +Rather than count the number of members you have tagged and add to +that the number of members you expect to add in the future, you +may simply enter "+40" to have VLU make the calculation. VLU will +build a library large enough to hold the presently tagged files +and 40 more. If no files are currently tagged, VLU will build an +empty library large enough to hold at least 40 members. + +VLU will then initialize the library directory area. The +directory list (onscreen) will be reset to the first screen; the +cursor will move to the first tagged file and a message will +display that the file is being crunched or added as appropriate. +If any files are to be crunched, the "stamp" prompt will appear +and the stamp thus entered will be in effect for all files +crunched into the library. + +Under this operation, as under the Wildcard and other Group +operations, the directory list onscreen will shift through all +files searching for tags. This will be more noticeable in larger +directories (which require more than one display) and during the +Building of libraries (because of the pause to close the library). + +The datestamps for file creation date/time and file modification +date/time will be copied into the library directory if they are +available on the disk. They may also be imbedded in crunched +members (if no stamp is entered). The current time/date will be +placed in the library directory to indicate when the library was +originally constructed. + + +Adding files to a Library + + +Adding files to an existing library is a simple as constructing +the library in the first place and the files will be compressed +according to the same rules. Date/time stamps will be preserved. +The current date/time will be written into the library directory +to indicate the library's last modification. + +Files may be added individually or tagged and added in a Group +operation. The library to which they will be added must be open +and must have unused directory entries (deleted entries will not +be overwritten). + + +Configuration + + +Several configuration bytes are located in the first sector of the +VLU command file where they may be easily patched. For the exact +location and function of these bytes, see the accompanying file, +VLUxxxC.Z80. + + +Option menu + + +The Option menu, accessed by typing "M" at the command prompt, +will toggle many of the configuration bytes. This allows +temporary assignment of the options. + + +Security + + +The Login command of VLU will use the Z33 parser when it is +available, thus behaving exactly as the operating system would in +allowing admittance to directory areas. When Z33 is not available, +VLU allows immediate entry to any du: or dir: within the MAXDSK +and MAXUSR limits of the environment. Dir: forms outside these +limits are also accepted; passwords, if present, are enforced. + +Commands Delete and Rename and any commands that would create new +files are available only while the wheel byte is set. + + +Contributors + + +VLU directly incorporates the work of many "better makers." My +thanks to all of them as much and more for the opportunity to read +and learn from their code as well as for their library releases. +Among them, the following: + +Richard Conn, Howard Goldstein, Jay Sage, Al Dunsmuir et al. for +SYSLIB, Z3LIB, Z33LIB and VLIB--and ZCPR, itself. + +C.B. Falconer and Steven Greenberg for USQREL, UNCREL, CRN, and +BUFFERS. + +Steven Cohen for M24. Carson Wilson for DATEHL and Z80DOS. +Bridger Mitchell for FRESET and CRUNCH23D. + +Martin Murray for NULU, the standard for these efforts. And Gary +Novosielski for the library format. + + +Note from the programmer + + +VLU, its source code, and its documentation are copyright 1987, +1988 by Esoteric Software. VLU is distributed for non-commercial +use only; any commercial use or any re-distribution in association +with a commercial product or package requires the prior written +permission of the author. + +I may be reached on Z-nodes 2 and 3--Al Hawley's Ladera and Jay +Sage's Newton Centre; both are available via PC-Pursuit. I log +into these nodes approximately semi-weekly. If it is important to +reach me sooner, my home Z-node is #58, operated by Kent Mason in +Oklahoma City (405/943-8638). + \ No newline at end of file diff --git a/Source/Images/d_zpm3/u10/ZFHIST.HLP b/Source/Images/d_zpm3/u10/ZFHIST.HLP new file mode 100644 index 00000000..28494857 --- /dev/null +++ b/Source/Images/d_zpm3/u10/ZFHIST.HLP @@ -0,0 +1,442 @@ +: + ZFILER HISTORY  + + Version 1.1 Jan 9, 1993      Jay Sage  + + 1. Texô  messageó  werå  gathereä  intï á blocë  iî  ordeò  tï  supporô +        languagå  overlayó  aó  explaineä  iî mù  articlå  iî  Thå  Computeò +        Journal®  Englisè  anä Germaî versionó arå supplieä witè thå initiaì +        release. + + 2. The CFG configuration file for use with ZCNFG was extensively + overhauled. + + 3. The source code is now being released. + Versioî 1.0ñ Jaî 9¬ 199² Roâ Friefelä ¦ Jaù Sage + + 1. Addeä  optioî  tï filteò VIE× anä PRINÔ output®  Iæ ON¬  thå  filteò +        removeó thå higè bit¬  theî printó onlù alphanumerics¬  CR¬  anä LF® +        Iæ  assemblù  optioî EXPTA iæ false¬  TABÓ arå  alsï  output®  Thå +        filteò settinç maù bå toggleä froí thå Optionó command. + + 2. ZFILEÒ  caî  remembeò alì thå filå tagó wheî iô returnó  afteò  á  Ú +        commanä  oò macrï run®  Thå filå lisô ió writteî tï á temporarù disë +        filå (ZFILER.TAG¬  iî á configurablå directory)¬  anä  automaticallù +        reaä  back®  Thió featurå caî bå turneä off¬  iæ desired¬  froí  thå +        Optionó command. + + 3. Grouð  Tag/Untaç anä Wilä Tag/Untaç maù bå separatelù seô tï worë oî +        thå entirå ring¬ oò jusô froí thå filå pointer® Grouð Reverså alwayó +        workó oî thå entirå ring®  Toggleó arå oî Optionó list® Lisô macroó +        no÷ sofô taç fileó jusô likå regulaò grouð macros. + + 4. Thå  Optionó lisô ió no÷ 1µ itemó long®  Theså flagó werå previouslù +        saveä witè thå filå mask¬  sï onlù 1± itemó coulä bå reliablù saved® +        Theù  arå no÷ bit-encodeä iî thå lasô twï byteó oæ thå  shelì  stacë +        entry®  (Thå  NOÔ  USESTË  assemblù optioî haó noô beeî  recodeä  tï +        reflecô thió change® Itó limitó werå lonç agï exceeded.) + + 5. Z33OPÔ arå flaç byteó copieä froí ZCPÒ tï á locaì buffer¬  useä  foò +        controllinç  passworä  checking®  Previouó versioî waó checkinç  thå +        wronç  bits®  Sincå thå locaì buffeò ió loadeä aô  runtime¬  iô  waó +        moveä tï DSEG. +  Version 1.0p           May 16, 1991                    Rob Friefeld  + + ---   BUGS FIXED: + 1. Copù  tï existinç r/ï filå failed®  Thå destinatioî attributeó  werå +        neveò  checkeä iæ "Seô Desô Att¢ optioî waó false® + 2. Oî  disë full¬  partiallù copieä filå ió closeä beforå  deletioî  sï +        thaô disë spacå reporô ió no÷ correct. + 3. Iæ  thå ZEØ batcè filå ió locateä iî á specifiã DÕ noô oî thå  path¬ +        ZEØ  won'ô  finä it®  Althougè thå MACROCMDº  patcè poinô  coulä  bå +        altereä tï "ZEØ DU:ZFILER"¬  ZÆ wilì no÷ dï thió automaticallù afteò +        creatinç thå .ZEØ file® Aó á result¬ thå MACROCMÄ entrù MUSÔ uså á ³ +        letteò  commanä  namå  iæ yoõ patcè iô tï ruî somethinç  otheò  thaî +        'ZEX'. + + ---    ALTERATIONS: + 1. DINIT called on exit. + 2. Installatioî optioî availablå tï eraså finisheä ZFILER.ZEØ oî  shelì +        run®  Yoõ  maù  wanô  tï seô thió flaç afteò  debugginç  youò  macrï +        commanä file. + 3. Clear screen on exit (EXITCLS) is config option now. + 4. Grouð  Taç anä Grouð Untaç operatå froí thå filå pointeò tï thå  enä +        oæ thå list¬  ratheò thaî oî thå entirå list® (Thió ió á restoratioî +        oæ somethinç ZÆ useä tï do.© + + ---    NEW: + 1. ZF10P.CFÇ configuratioî filå foò uså witè ZCNFG.COM® Handleó alì thå +        configuratioî excepô macrï strinç installation. + + 2. Grouð Macrï putó taggeä filå counô intï (configurable© useò registeò +        #µ  beforå  running®  Thå macrï caî theî dowî counô  anä  takå  somå +        additionaì  actioî  afteò  iô  haó ruî oî  eacè  taggeä  file®  Thå +        intendeä uså foò thió ió tï creatå librarieó oæ cruncheä fileó  witè +        onå macrï command® Foò example¬ thå script + + 1 ! $d$u:;$!crunch $f M1:;reg m5;if reg 5= 0;$"Library DU ":; +     lput $"Library Name: " M1:*.* +1;era M1:*.?Z?;fi;$h: + +        cruncheó  taggeä fileó tï á fixeä directorù M1º  (oî thå RAÍ  disk)¬ +        makeó  á  librarù  ouô oæ theí (leavinç rooí foò ± morå  file©  witè +        inpuô   foò  librarù  namå  anä  location¬   theî  eraseó  alì   thå +        "crunchettes". + +        Foò  consistency¬  singlå  macroó puô á "1¢ counô iî thå  useò  reg® +        Therå  ió nï codå tï enforcå thå 0..¹ useò registeò range¬  iî  caså +        yoõ wanô tï uså 18..3± (10-1µ arå reserved¬  16-1· arå useä bù otheò +        programs). + +        REÇ  musô  bå á Type³ oò Type´ (oò RCP© foò thå ZEØ GÏ "$!¢  tï  ruî +        CRUNCÈ repeatedly. +  Version 1.0o September 21, 1989 Carson Wilson  + + --- Implementeä lisô capabilitù foò grouð macros®  Iæ á ZFILER.CMÄ scripô +       beginó  witè  á commá (beforå oò afteò thå leadinç  "!¢  shelì  pauså +       parameter)¬  ZFILEÒ  wilì alwayó expanä thå macrï directlù tï  ZCPR'ó +       multiplå commanä line®  Iî thå caså oæ á grouð macro¬  $P¬ $F¬ anä $Ô +       parameteró  arå expandeä tï á lisô oæ alì taggeä files¬  separateä bù +       thå characteò followinç thå leadinç comma® Foò example¬ thå script + +         ± ¬ !echï thå taggeä fileó arå $F + +       displayó  "THÅ TAGGEÄ FILEÓ ARÅ "¬  followeä bù á lisô oæ thå  taggeä +       fileó separateä bù ¢ ¢ oî thå consolå (assuminç ECHÏ ió á valiä  ZCPÒ +       command)®  ZFILEÒ  theî  promptó  foò á  keypresó  beforå  returning® +       Pleaså  notå thaô thió macrï bufferó thå entirå lisô oæ taggeä  fileó +       tï CP/M'ó commanä linå buffer¬ whicè ió onlù 12µ byteó iî length® Thå +       abovå commanä thereforå normallù causeó á "Commanä toï long¢ erroò iæ +       morå  thaî abouô ¸ fileó arå tagged¬  dependinç oî thå lengthó oæ thå +       taggeä names. + + --- Madå  thå  escapå characteò anä thå characteró tï quotå witè iô  wheî +       writinç á grouð macrï commanä tï ZEØ oò SUBMIÔ fileó installablå (seå +       ZFCNFN.Z8°  foò  details)®  Escapå characteò ió  currentlù  "$"¬  anä +       quoteä characteró arå currentlù "$"¬ "|"¬ anä "<"¬ aó requireä bù ZEØ +       versioî 5. + + --- Iô  ió no÷ possiblå tï answeò ZFILER'ó "Logiî [DIR][:MASKÝ  ¢  prompô +       witè  ".¢  (samå aó ":"© tï loç iî alì fileó iî  thå  currenô +       directory®  Previouslù  thió loggeä iî alì fileó aô useò zerï oæ  thå +       currenô  drive®  Thå  Logiî commanä no÷ alsï seemó tï  accepô  ".afn¢ +       insteaä oæ ":afn". + + --- Shelì biô seô whilå waitinç foò useò commands¬ theî immediatelù reseô +       wheî á commanä keù ió received®  Thió shoulä allo÷ Bridgeò Mitchell'ó +       AÔ  commanä  scheduleò  RSØ tï interrupô ZFILEÒ aó iô woulä  thå  CCÐ +       whilå ZFILEÒ ió promptinç foò commands. + + --- Fixeä buç whicè preventeä anù Grouð commandó froí operatinç wheî  thå +       configuratioî bytå MACFLAÇ waó patcheä tï false. + + --- Removeä codå whicè attempteä tï uså thå ZCPÒ Environmenô tï determinå +       ho÷  manù  lineó oæ texô tï displaù witè thå Ö command¬  aó thió  waó +       onlù partiallù implemented¬ resultinç iî difficultù oî terminaló witè +       oveò 2´ rows®  Texô lineó no÷ hard-codeä tï 22¬ sï ZFILEÒ shoulä worë +       oî anù terminaì witè 2´ oò morå screeî rows. + + --- Fixeä  smalì  buç  whicè  causeä  "Publiã  Filå  Error¢  messagå   tï +       disappear. + + --- Control-É ió no÷ aî aliaó foò control-Ê (jumð tï filå again)¬ foò uså +       witè  terminaì definitionó (TCAPs© whicè definå control-Ê aó aî arro÷ +       key. + + --- Ideá  foò futurå versionsº  iô woulä bå verù difficulô tï allo÷  filå +       rinç  sortinç  baseä oî filå dateó (woulä neeä tï storå  datå  stampó +       witè ring¬ requirinç majoò rewrite)® Iô woulä bå relativelù simplå tï +       allo÷  thå Logiî anä startuð commandó tï accepô anä matcè fileó tï  á +       datespec¬ though... +  Version 1.0n March 20, 1989 Carson Wilson  + + --- Addeä $ª scripô parameteò tï cleaò thå screeî during¬ anä rebuilä iô +       afteò á scripô prompt® Usagå ió $"$*..text..¢ Prompô texô appearó aô +       thå toð oæ á cleareä screen. + + --- Iî  anticipatioî  oæ  thå  ZEØ 4.0x¬  '$§ anä '|§ arå  no÷  thå  onlù +       characteró  whicè arå quoteä wheî ZFILEÒ buildó thå ZFILER.ZEØ  file® +       Iæ  theù  appeaò iî á ZFILER.CMÄ scripô theså characteró  arå  quoteä +       witè  á  leadinç  dollaò sigî wheî ZFILER.ZEØ  ió  built®  Alì  otheò +       characteró  arå passeä "aó is¢ tï thå ZEØ file®  Thió meanó thaô  yoõ +       cannoô uså ZEØ directiveó sucè aó $1¬  |crlf|¬  etc® dynamically¬ buô +       thió waó neveò thå intentioî oæ thå interfacå betweeî ZFILEÒ anä ZEØ +       - thå  ideá  waó simplù tï providå multiplå executionó oæ  á  ZFILEÒ +       commanä script. + + --- For efficiency ZFILER no longer resets disks under Z3PLUS. + Version 1.0m January 24, 1989 Carson Wilson + + --- Copù anä Movå commandó no÷ worë properlù witè Z3PLUS¬ anä thå currenô +       12-houò timå showó aô thå toð oæ thå screeî undeò Z3PLUS. + + --- Patè  fileó  conflictó  arå nï  longeò  reporteä  undeò  ZSDOS®  Thió +       produceä  problemó  wheî useró trieä tï backuð directorieó alonç  thå +       path® ZSDOÓ publiã conflictó arå stilì reported. + + --- Grouð Movå anä Grouð Copù erroò messageó arå no÷ sustaineä untiì  thå +       useò strikeó á key¬ ratheò thaî disappearinç immediately. + + --- Promptó iî scriptó maù no÷ contaiî controì characteró aó "^x¢ wherå ø +       ió anù characteò froí À tï z. + + --- Thå dollaò sigî ió no÷ aî "escapå character¢ foò scripô prompts¬  anä +       caî bå useä tï includå thå $¬ ^¬ "¬ anä § characteró iî prompts. + + Examples: + Script Result + $"Enter name or $^C: " Enter name or ^C: + $"Type $"//$" for help: " Type "//" for help: + + --- Movå  anä  Grouð Movå no÷ uså thå optioî menõ selectionó wheî  movinç +       fileó insteaä oæ alwayó copyinç filå attributes. + + --- Cleaned up help screen. + + --- Tï  savå  debugginç  timå  É havå changeä  thå  defaulô  optioî  menõ +       settingó tï mù preferences. +  Version 1.0l September 13, 1988 Carson Wilson  + + --- Bugó iî thå Grouð Copy¬  Grouð Move¬  anä Grouð Deletå commandó whicè +       occurreä wheî thå useò aborteä certaiî promptó witè á control-à havå +       beeî corrected. + + --- Á  buç whicè resulteä iî erratiã behavioò iæ ZFILER.CMÄ waó noô founä +       waó fixed. + + --- Thå unsQueezå commanä waó removeä tï reducå prograí size®  Sincå  fe÷ +       ne÷ fileó arå squeezeä anä UNCRUNCÈ no÷ supportó unsqueezinç iô seemó +       preferablå  tï exporô thió functioî bù callinç UNCRUNCÈ witè á ZFILEÒ +       macro®  Aî  additionaì  benefiô oæ thió techniquå ió  thaô  á  singlå +       commanä no÷ maù bå useä foò botè uncrunchinç anä unsqueezing® ZFILEÒ +       wilì  stilì  displaù  anä  prinô  squeezeä  files® + + --- ZFILEÒ  no÷ performó consistentlù wheî invokeä witè ZCPR'ó GÏ oò JUMÐ +       commands®  Previouó  versionó  faileä wheî morå thaî onå Ú  oò  macrï +       commanä waó useä afteò invokinç ZFILEÒ witè GO/JUMP. + + --- (DateStampeò  versionó  only)®  Iæ á DateStampeò (BDOÓ  functioî  12© +       real-timå clocë ió available¬  thå currenô 12-houò timå ió printeä tï +       thå lefô oæ thå "ZFILER¢ namå aô thå toð oæ thå screen. + + --- Iæ  runninç  undeò ZSDOÓ oò ZDDOS¬  disë resetó arå skippeä  foò  alì +       commandó  excepô Space®  Thió considerablù increaseó  performancå  oî +       floppù disë systems. + + --- Thå  environmenô addresó ió loadeä froí locatioî 10¹ aô ruî timå  foò +       compatibilitù witè ZCPÒ 3.° systems. + + --- Thå  performancå  oæ thå Delete¬  Copy¬  Move¬  Archive¬  anä  Renamå +       commandó haó beeî improveä bù minimizinç disë accesses. + + --- Thå  Spacå  commanä  no÷  resetó  individuaì  drives®  Thió  ió  morå +       efficienô anä makeó thå Ó commanä practicaì witè virtuaì drives. + + --- Thå  Spacå  anä Filesizå commandó no÷ worë  properlù  afteò  printinç +       files. + + --- ZFILEÒ  no÷  checkó  foò anä reportó Publiã oò  Patè  conflictó  wheî +       Copying¬  Renaming¬  Moving¬  anä  Archivinç  fileó undeò  ZSDOS®  Iî +       addition¬  fileó  createä  witè Copy/Move/Archivå arå alwayó  seô  tï +       Privatå (higè biô oæ f2=0© tï avoiä possiblå ZSDOÓ Publiã conflicts. + + --- Single file View no longer affects file tags. + + --- Single file Copy or Move no longer skip to the next file afterwards. + + --- (DateStampeò  versionó only)®  Iæ  available¬  Copy/Move/Archivå  uså +       ZSDOS'ó  morå  efficienô  Geô Stamð anä Seô Stamð functioî  calló  tï +       preservå  filå  datestampó  acrosó  copies®   Thå  oldeò  methoä   oæ +       datestampinç ió retaineä foò non-ZSDOÓ systems. + + --- Rename error messages no longer disappear before they can be read. +  Version 1.0k May 3, 1988 Jay Sage  + + --- Fixeä  somå  minoò  bugó iî thå codå (slipuð oæ usinç á  D  wherå  É +       intendeä á DÓ tï allocatå spacå foò longeò stringó tï bå patchable) +  Version 1.0j May 1, 1988 Jay Sage  + + --- Improveä  flexibilitù oæ grouð macrï operatioî bù puttinç threå itemó +       iî thå configuratioî page®  Thå strinç MACROCMÄ ió á  null-terminateä +       strinç witè thå grouð macrï commanä line®  Thå strinç MACLEADSTÒ ió á +       null-terminateä  strinç oæ characteró tï bå writteî aô thå  beginninç +       oæ  thå grouð macrï batcè filå (ZEØ oò SUBMIT)®  Thå strinç  MACROFC +       markó  thå  filå  controì  blocë foò thå filå witè  thå  grouð  macrï +       commands. + + --- Fixeä á buç iî thå expansioî oæ filå nameó iî macrï  parameters®  Thå +       codå  waó noô maskinç ouô filå attributes®  Iô happeneä thaô thió diä +       noô matteò excepô foò blankó witè attributeó set¬ buô no÷ thå codå ió +       correct. + + --- Therå  ió  aî additionaì configuratioî optioî (lasô  bytå  iî  CONFIÇ +       sectioî jusô beforå OPÔ string© thaô allowó filå nameó tï bå showî iî +       loweò case® Seô thå bytå tï FÆ foò uppeò case¬ ° foò loweò case. +  Version 1.0i April 14, 1988 Jay Sage  + + --- Thå  sourcå codå tï 1.0è waó losô iî á disë crash®  Thå featureó havå +       beeî recreated® Thå operatioî witè GÏ oò JUMÐ haó beeî improved. + + --- Thå  shelì stacë entrù no÷ includeó thå expliciô directorù wherå  thå +       filå waó founä iæ Z3³ oò lateò ió running. +  Version 1.0h September 16, 1987 Jay Sage  + + --- Fixeä buç iî thå codå foò logginç iî thå displayeä directorù wheî thå +       Ú  commanä ió executed®  Iô waó noô workinç correctlù undeò  standarä +       ZCPR3° oò BackGrounder. + + --- Addeä optionó tï controì ho÷ thå ZFILER.CMÄ macrï filå ió located®  Á +       choicå  oî thå optioî menõ allowó onå tï turî oî oò ofæ searchinç  oæ +       thå entirå patè (includinç currenô directory)® Iæ thaô optioî ió off¬ +       eitheò  thå  rooô directorù oò á specifieä directorù  wilì  bå  used¬ +       dependinç oî thå configuratioî oæ thå program. + + --- ZFILEÒ caî no÷ bå reexecuteä usinç thå GÏ command® É borroweä á tricë +       froí Aì Hawley®  Wheî invokeä originally¬ ZFILEÒ checkó thå namå useä +       tï invokå it®  Iæ thå namå ió 'GO'¬  theî á defaulô namå storeä iî aî +       internaì  buffeò ió used®  Otherwise¬  iæ thå namå ió copieä tï  thaô +       buffeò froí thå externaì FCB® É believå thió changå wilì allo÷ ZFILEÒ +       tï bå reconfigureä usinç thå 'O§ commanä anä theî cloneä usinç SAVE. + + --- Á  morå  extensivå  useò configuratioî filå haó beeî  provideä  whicè +       compriseó sectionó oæ ZFHDR.Z8° (thå definitionó file© anä ZFMAIN.Z8° +       (thå beginninç oæ thå maiî code)®  Aó before¬  reconfiguratioî caî bå +       carrieä  ouô bù editinç ZFCNFH.Z8° anä assemblinç iô tï á  HEØ  file® +       Theî "MLOAÄ ZFNEW=ZF0LD.COM,ZFCNFH¢ wilì instalì thå changes. +  Version 1.0g August 23, 1987 Carson Wilson  + + --- Reverså video¬ dim¬ oò '_§ arå no÷ useä oî thå statuó linå tï displaù +       alì currenô filå attributes® 'r§ read-onlù tagó werå interferinç witè +       thå tagginç commandó anä arå nï longeò used. + + --- Corrected bug preventing view/unsqueeze of squeezed system files. + + --- Correcteä  buç  causinç squeezeä read-onlù fileó tï bå unsqueezeä  aó +       systeí fileó wheî copyinç attributes. + + --- Made invalid command display show actual command. + + --- Removeä  ZFILEÒ  commanä prompô oî exiô tï  avoiä  confusioî  betweeî +       systeí anä ZFILER'ó 'Z§ command® + + --- Fixeä initiaì helð screeî froí commanä line. + + --- Added space before 'OK' after copy/unsqueeze. +  Version 1.0f June 12, 1987 Jay Sage  + + --- Addeä  rudimentarù grouð macrï capabilitù bù havinç ZFILEÒ  construcô +       anä invokå á ZEØ script. +  Version 1.0c April 27, 1987 Jay Sage  + + --- Madå changeó foò compatibilitù witè ZCPR33®  No÷ oî manuaì invocatioî +       ZFILEÒ returnó tï thå commanä processoò iæ ZEØ ió runninç sï thaô ZEØ +       caî continuå tï supplù commandó eveî iæ therå arå nï morå commandó oî +       thå currenô commanä line. +  Version 1.0b January 13, 1987 Jay Sage  + + --- Addeä DateStampeò support® No÷ oî filå copieó anä moves¬ thå timå anä +       datå stamð oæ thå sourcå filå ió carrieä tï thå destination. + + --- Modifieä handlinç oæ directorieó witè 'L§ (oò 'N'© command®  Thå codå +       no÷ respectó thå DUOË flaç iî thå environment® Iæ iô ió set¬ theî anù +       attempô  tï  loç iî á directorù ió checkeä againsô thå  maxdrivå  anä +       maxuseò  valueó iî thå environment®  Iæ thå requesô passeó thaô test¬ +       theî thå directorù ió loggeä iî eveî iæ iô haä beeî specifieä usinç á +       DIÒ  forí  anä  eveî iæ á passworä ió associateä  witè  it®  Iæ  thå +       requesteä  directorù ió beyonä thå maxdrive/maxuseò rangå oò iæ  DUOË +       ió noô set¬  theî thå nameä directorù registeò ió checked®  Passwordó +       arå  checkeä  aó  needeä  usinç  improveä  codå  (shorteò  anä   morå +       accurate). + + --- Addeä smalì biô oæ codå tï thå ZFILEÒ initializatioî tï changå thå JÐ +       opcodå  aô 100È tï REÔ sï thaô ZFILEÒ cannoô bå reruî usinç thå  "GO¢ +       commanä (thió haó baä consequences¬  sincå thå shelì stacë entrù theî +       woulä havå thå commanä "GO¢ storeä iî it!). +  Version 1.0a January 1, 1987 Jay Sage  + + --- IMPORTANÔ  CHANGEº  Tï  makå  ZFILEÒ  consistenô  witè  otheò  scripô +       processinç programs¬  thå defaulô parameteò designatioî characteò haó +       beeî changeä froí '%§ tï '$'® Thå parameteò '$'¬ aî alternatå foò 'P§ +       (completeä   Pointed-to-filå   specº   du:name.typ©   waó   thereforå +       eliminated® Theså changeó wilì requirå editinç oæ anù VFILER.CMÄ filå +       wheî convertinç tï ZFILER.CMÄ (thå macrï filå useä bù ZFILER). + + --- Modifieä thå waù thå shelì stacë entrù ió used® Iô no÷ keepó botè thå +       originaì directorù anä thå requesteä directorù oî thå stack® Thió haó +       twï majoò advantages® Bù keepinç thå originaì directorù oî thå stack¬ +       oî  exiô witè thå 'X§ commanä ZFILEÒ caî returî tï thå directorù froí +       whicè iô waó originallù invokeä nï matteò ho÷ manù otheò  directorieó +       havå beeî loggeä iî bù uså oæ thå 'Z§ commanä oò á macro® Keepinç thå +       requesteä (displayed© directorù oî thå shelì stacë avoidó thå probleí +       witè  á passwordeä directorù oæ havinç tï reenteò thå passworä  everù +       timå ZFILEÒ returneä froí á macrï oò 'Z§ operation. + + --- Addeä  featurå witè 'Z§ commanä tï allo÷ avoidancå oæ thå "Strikå anù +       Key¢  messagå oî returî tï ZFILER®  Iæ thå commanä linå entereä  witè +       thå  'Z§  commanä beginó witè á space¬  theî shelì  waitinç  wilì  bå +       disabled. + + --- Fixeä á buç causeä bù thå GÁ command®  Oncå thaô commanä waó used¬ aî +       archivinç  flaç  waó seô anä neveò cleared®  Á lateò Gà commanä  theî +       useä  thå group-archivå promptinç optionó insteaä oæ  thå  group-copù +       options® Thió flaç ió no÷ reseô beforå alì grouð operations. + + --- Addeä  optioî  oî  filå  copù anä unsqueezå functionó  tï  allo÷  thå +       destinatioî  filå  attributeó tï bå seô tï thoså oæ á  filå  thaô  ió +       beinç overwritten® Iæ therå ió nï sucè filå anä thå attributå settinç +       optioî ió engaged¬ theî thå sourcå filå attributeó wilì bå used. + + --- Changeä  codå foò filå viewinç sï thaô scrollinç wilì stoð aô thå enä +       oæ á filå (carriagå returî anä spacå wilì noô causå thå nexô filå  tï +       start)®  Onlù  control-Ø oò control-à wilì bå effectivå aô thå enä oæ +       file®  Alsï addeä control-Ú optioî tï gï straighô tï thå enä oæ  filå +       withouô paging. + + --- Changeä thå codå thaô allowó interruptioî oæ grouð operationó sï thaô +       á  carriagå  returî wilì noô causå aî aborô (manù useró  answeò  somå +       promptó  thaô  requirå nï returî witè á returî anä founä  thaô  grouð +       operationó  workeä onlù oî thå firsô file)®  Anù characteò otheò thaî +       carriagå returî wilì aborô masó operations. + + --- Madå iô possiblå tï geô thå macrï helð screeî bù pressinç thå  leadiî +       characteò  á  seconä timå iî responså tï thå 'Macro§ prompô (thió  ió +       mucè easieò anä morå naturaì thaî enterinç thå '#§ command). + + --- Fixeä  á  buç  iî thå macrï helð displaù  thaô  waó  echoinç  controì +       characteró tï thå screen®  Theså arå no÷ filtered®  Onå caî no÷ enteò +       ESà ESà tï seå thå macrï helð screeî anä á thirä ESà tï returî tï thå +       filå display. + + --- Addeä  ^Ê  commanä  tï jumð tï nexô filå thaô matcheó thå  lasô  masë +       specifieä  iî á "J¢ command®  Thió allowó onå tï jumð easilù  tï  thå +       seconä oò thirä filå thaô matcheó á simplå filå spec. + + --- Fixeä  buç  iî "M¢ anä "GM¢ commandó thaô alloweä sourcå filå  tï  bå +       deleteä, eveî wheî copù haä noô beeî performed. + + --- Addeä "GR¢ grouð reverså functioî tï reverså filå tags®  Taggeä fileó +       becomå untagged»  untaggeä fileó becomå tagged» anä soft-taggeä fileó +       remaiî soft-tagged. + + --- Cleaneä  uð  loç commanä ("L¢ oò "N")®  Removeä speciaì  handlinç  oæ +       answeò  "x¢  foò directorù namå (nï longeò needed© anä changeä  erroò +       handlinç code. + + --- Addeä  á configuratioî optioî tï automaticallù loç iî  thå  displayeä +       directorù foò thå "Z¢ commanä iæ thå useò numbeò ió lesó thaî 16®  Iæ +       thió  optioî ió configureä in¬  theî thå disë systeí ió reseô  beforå +       thå  commanä  linå  ió ruî (thió ió thå disadvantagå  oæ  usinç  thió +       option). + + --- Made rename command preserve all file attributes. + + --- Addeä  optionó  tï copù attributeó witè fileó anä tï alwayó  seô  thå +       archivå  attributå  iî  thå destinatioî file®  Iæ thå filå  ió  beinç +       moved¬  thå attributeó arå alwayó copieä anä thå archivå biô ió  lefô +       aó  iô was»  iæ thå filå ió beinç unsqueezed¬  thå attributeó arå noô +       copieä anä thå archivå biô ió seô accordinç tï itó optioî setting. + +--------------------------------------------------------------------------- + + See the VFHIST.DOC file in VFILER Version 4.1 for the history of the + development of VFILER. +  \ No newline at end of file diff --git a/Source/Images/d_zpm3/u10/ZFILER.HLP b/Source/Images/d_zpm3/u10/ZFILER.HLP new file mode 100644 index 00000000..029adac4 --- /dev/null +++ b/Source/Images/d_zpm3/u10/ZFILER.HLP @@ -0,0 +1,545 @@ +; ------------------------------------- + | | + | ZFILER, The Point-and-Shoot Shell | + | | + ------------------------------------- + + + Z >> Introduction to Z-System Shells + F >> What is ZFILER for? + + +I >> Invoking ZFILER  C >> ZFILER Commands  +D >> The ZFILER Display S >> Single-File Built-In Functions +O >> Thå Optioî Commanä G >> Built-In Group Commands +J >> Credits P >> Pointeò Commandó +H >> History of ZFILER N >> Otheò Non-Filå Commandó + + + M >> ZFILER's Script Macro Facility +:Z + Z-System Shells  + + Á  Z-Systeí shelì ió á prograí thaô takeó oveò thå user-inpuô  functioî +oæ  thå  commanä  processor®  Thå  waù  thió workó  ió  thaô  thå  Z-Systeí +environmenô  includeó á speciaì areá iî memorù calleä thå shelì stacë  wherå +shelì  commanä lineó caî bå kept®  Wheneveò thå ZCPR³ commanä processoò  ió +finisheä  processinç  alì thå commandó thaô havå beeî passeä tï  iô  iî  thå +commanä  linå buffeò (anotheò speciaì areá iî memory)¬  iô checkó thå  shelì +stack®  Onlù iæ nï commanä linå ió presenô therå doeó thå commanä processoò +itselæ  prompô thå useò foò thå nexô commanä line®  Iæ therå ió aî entrù iî +thå  shelì stack¬  theî thaô commanä linå ió ruî instead¬  anä thå  useò  nï +longeò seeó thå commanä processoò directly. + + Somå  shells¬  likå thå EASÅ oò LSÈ historù shell¬  whilå makinç á  biç +changå iî ho÷ thå systeí ió actually‚ running¬  makå relativelù littlå changå +iî  ho÷  iô appears‚ tï run®  Á commanä prompô ió stilì presented¬  anä  onå +enteró  commandó morå oò lesó aó usual®  Thå differencå ió thaô onå  haó  á +morå  capablå  editoò  aô one'ó disposal¬  anä thå commandó arå saveä  tï  á +historù filå froí whicè theù caî bå recalled¬  edited¬ anä ruî again® Aó wå +shalì see¬  thå ZFILEÒ shelì presentó thå useò witè á dramaticallù differenô +useò interface. +:F + Whaô ió ZFILEÒ For¿  + + Historically¬  ZFILEÒ  ió á descendanô iî thå linå oæ filå  maintenancå +utilitieó  likå SWEEÐ anä NSWÐ (hencå thå "filer¢ parô oæ thå  name)®  Filå +maintenancå  ió  generallù concerneä witè copyinç files¬  lookinç  aô  theiò +contents¬ renaminç them¬ erasinç them¬ anä sï on® ZFILEÒ provideó alì theså +functionó anä more. + Š ZFILER'ó  immediatå parenô waó VFILER¬  wherå thå "V¢ stooä foò  video® +Thå  TCAÐ facilitù iî Z-Systeí makeó iô easù foò programó tï takå  advantagå +oæ  thå full-screeî capabilitieó oæ whateveò videï displaù terminaì  happenó +tï bå iî uså aô anù time®  Iî contrasô tï applicationó undeò CP/M¬ Z-Systeí +programó neeä noô bå configureä tï matcè thå terminal®  Iô was¬  therefore¬ +naturaì tï builä á filå maintenancå prograí iî whicè thå fileó arå displayeä +graphicallù  oî thå screen®  Wheî É decideä tï explorå somå ne÷  directionó +witè VFILER¬  tï avoiä confusioî É gavå thå prograí thå ne÷ namå ZFILER¬ foò +Z-Systeí Filer. + Thå  filå maintenancå taskó describeä abovå woulä noô requirå á  shell® +Makinç thå prograí á shell¬  however¬  allowó iô tï gï beyonä thå  functionó +includeä iî thå program'ó owî code®  Becauså á shelì caî pasó commanä lineó +tï thå operatinç system¬  ZFILEÒ caî perforí anù operatioî thaô thå computeò +ió capablå of® Likå á menõ system¬ however¬ iô helpó thå useò bù generatinç +thå commandó automaticallù aô thå toucè oæ á key. + + Wheî  ZFILEÒ  ió  running¬  thå screeî ió filleä witè  aî  alphabetizeä +displaù oæ thå fileó iî á specifieä directory¬  anä therå ió á pointeò  thaô +thå  useò  caî manipulatå usinç cursoò controì keys®  Iæ wå haä á mouså  tï +movå thå pointer¬  iô woulä bå á littlå likå havinç á Macintosh®  Actually¬ +iô woulä bå á loô more® Iô woulä bå likå havinç á mouså witè fiftù buttons¡ +Oncå  thå pointeò haó beeî positioneä oî á file¬  pressinç á keù (oò twï  oò +three©  causeó  anù oæ á greaô numbeò oæ functionó tï bå invokeä tï  acô  oî +thaô file® Wå wilì describå ho÷ thió workó iî morå detaiì shortly. +:I + Invokinç ZFILEÒ  + + Sincå  ZFILEÒ  performó  full-screeî  operations¬   á  propeò  Z-Systeí +terminaì  descriptoò  (TCAP© musô havå beeî loaded®  Iæ yoõ havå  noô  donå +that¬  oò  iæ  yoõ havå selecteä á terminaì thaô doeó noô  supporô  alì  thå +functionó  ZFILEÒ needs¬  theî ZFILEÒ wilì givå yoõ aî erroò  message®  Thå +TCAP¬  unfortunately¬  doeó  noô  includå informatioî abouô whetheò  dií  oò +reverså  videï  ió  useä  bù thå terminal¬  anä sincå theså  twï  modeó  foò +highlightinç  regionó  oî  thå  screeî arå  sï  different¬  ZFILEÒ  ió  madå +availablå iî separatå versionó foò each. + + Therå  ió  alsï aî optioî tï havå eitheò fouò oò fivå columnó  oæ  filå +nameó iî thå display®  Personally¬  É prefeò thå four-columî version¬ whicè +giveó  aî uncluttereä screeî witè plentù oæ restfuì whitå spacå anä  á  verù +distinct¬  easy-to-spoô  pointer®  Otheró thinë iô ió morå importanô tï  bå +ablå  tï seå thå maximuí numbeò oæ fileó oî eacè screeî anä prefeò thå five- +columî display. + + Theî therå ió thå issuå oæ supporô foò timå anä datå stampinç oæ files® +ZFILEÒ  containó  thå  codå foò preservinç thå timå stampó  wheî  fileó  arå +copied®  Sï  aó noô tï inflicô thå overheaä oæ thió codå oî thoså whï  havå +noô  implementeä DateStampeò (thougè theù shoulä dï that!)¬  ZFILEÒ ió  alsï +provideä iî versionó witè anä withouô thå DateStampeò code. + Iæ wå supporteä alì combinationó oæ thå abovå choices¬  therå woulä  bå +eighô  differenô versionó oæ ZFILER®  Typically¬  thå distributioî  librarù +containó fouò oò fivå oæ thå combinations®  Foò example¬ á five-columî filå +displaù  ió  noô  particularlù compatiblå witè reverså  videï  highlighting¬ +becauså  thå  reverså  videï oæ taggeä fileó  runó  intï  thå  reverse-videï +pointer. + + Wheî  yoõ  geô  ZFILER¬  yoõ havå tï chooså whicè versioî  yoõ  prefer¬ +extracô iô foò thå distributioî library¬ anä givå iô á workinç namå (somå oæ +thå  earlù  Z-Systeí shelló haä tï havå á specifiã name¬  buô yoõ  caî  givå +ZFILEÒ anù namå yoõ like)® É prefeò thå namå ZF¬ sincå iô ió verù quicë anä +easù tï type¬ anä É wilì uså thaô namå iî alì thå exampleó thaô follow. + + Thå generaì syntaø foò invokinç ZFILEÒ is: + + ZÆ filespec + +wherå  "filespec¢ ió á standarä Z-Systeí ambiguouó filå specificatioî  (thaô +is¬  iô  maù  contaiî thå wildcarä characteró "?¢ anä  "*")®  Thå  filespeã +selectó  thå directorù areá anä thå fileó froí thaô areá tï bå  includeä  iî +thå screeî display. + Variouó partó oæ thå filespeã caî bå omitted®  Iæ nï filespeã ió giveî +aô all¬ theî "*.*¢ foò thå currentlù loggeä directorù ió assumed® Similarly¬ +iæ onlù á directorù ió specifieä (e.g.¬  Bº oò 3º oò B3º oò WORK:)¬ theî alì +thå  fileó ("*.*"© iî thaô directorù arå displayed®  Iæ á filå name/typå ió +included¬  theî iô wilì servå aó á masë oî thå fileó tï bå displayed®  Thuó +"ZÆ WORK:*.DOC¢ wilì sho÷ onlù fileó oæ typå DOà iî thå directorù WORK:. + + Thå  directorù anä filå masë caî botè bå changeä froí inside‚ ZFILEÒ  aó +welì usinç thå "L¢ oò LOÇ command®  É brinç thió uð no÷ becauså therå ió  á +confusinç  differencå iî thå waù thå "L¢ commanä works®  VFILEÒ  originallù +alloweä  onå tï changå onlù thå directorù anä noô thå filå masë froí  insidå +thå  program®  Tï  savå  thå useò thå troublå oæ typinç thå coloî  afteò  á +directory¬   itó  inclusioî  waó  madå  optional®  Sincå  useró  becamå  sï +accustomeä tï thió shorthand¬  iô waó carrieä oveò intï ZFILER®  Becauså oæ +this¬ iæ yoõ wanô tï changå onlù thå filå mask¬ yoõ musô remembeò tï precedå +iô  witè  á  colon®  Otherwiså youò masë wilì bå takeî aó  thå  namå  oæ  á +directorù (whicè generallù resultó iî aî erroò message). + + Iô  ió  no÷ possiblå tï answeò ZFILER'ó "Logiî [DIR][:MASKÝ ¢ prompô  witè +".¢  (samå  aó ":"© tï loç iî alì fileó iî  thå  currenô  directory® +Previouslù thió loggeä iî alì fileó aô useò zerï oæ thå currenô drive®  Thå +Logiî commanä no÷ alsï seemó tï accepô ".afn¢ insteaä oæ ":afn". + Onå  brieæ asidå foò programmeò types®  ZFILEÒ caî bå loadeä froí  anù +directory® Onå oæ thå speciaì featureó oæ Z-Systeí sincå versioî 3.³ oæ thå +commanä  processoò  allowó á prograí tï finä ouô botè itó owî namå  anä  thå +directorù froí whicè iô waó actuallù loaded¬ perhapó aó thå resulô oæ á patè +search®  ZFILEÒ  buildó  thå shelì stacë entrù tï invokå ZFILEÒ  undeò  itó +currenô  namå  froí  thå directorù iî whicè iô ió  actuallù  located®  Thió +sometimeó  makeó iô ruî faster¬  anä iô allowó ZFILEÒ tï bå invokeä  froí  á +directorù thaô ió noô oî thå searcè path. +:D + Thå ZFILEÒ Displaù  + + Thå maiî ZFILEÒ displaù containó threå parts® Aô thå toð oæ thå screeî +therå  ió á messagå line®  Iî thå versioî oæ ZFILEÒ thaô ió currenô aô  thå +timå É aí writinç thió columî (versioî 1.0L)¬  thió linå contains¬ froí lefô +tï right¬ thå followinç information: + + (1)  thå  directorù thaô haó beeî selected¬  iî botè DÕ anä DIÒ  (nameä +          directory© format; + + (2)  thå  indicatoò  "[PUBLIC]¢, iæ thaô directorù ió  á  ZRDOÓ  publiã +          directorù (iæ yoõ don'ô kno÷ whaô thió is¬ jusô ignorå it); + + (3)  thå  currenô  timå  oæ daù iæ DateStampeò oò onå oæ thå  ne÷  DOSó +          (ZSDOÓ oò ZDDOS© ió running; + + (4)  thå program'ó officiaì namå anä version; + + (5)  thå texô strinç "Currenô File:"; + +and  (6)  thå  namå oæ thå filå currentlù beinç pointeä tï (thió changeó  aó +          thå pointeò ió moved). + Aô thå bottoí oæ thå screeî ió á commanä prompô oæ thå form + + Command¿ (/=Help¬ X=Quit)º  + +Thå  cursoò (don'ô confuså thió witè thå filå pointer© ió  positioneä  afteò +thió  commanä  prompô tï indicatå thaô ZFILEÒ ió waitinç foò yoõ tï presó  á +key. + + Thå  centeò  2°  lineó oæ thå screeî  sho÷  thå  selecteä  files®  Thå +characteò strinç "-->¢ (onlù "->¢ iî thå five-columî display© floató betweeî +thå rowó oæ filå nameó anä designateó thå so-calleä "pointed-to¢ file® Manù +oæ thå ZFILEÒ commandó automaticallù operatå oî thió file. + + Whaô wå havå describeä sï faò ió thå maiî ZFILEÒ screen¬  buô iô ió noô +thå onlù one®  Aó thå commanä prompô suggests¬ pressinç thå slasè characteò +(oò  "?¢ iæ yoõ prefer© bringó uð á helð screeî thaô summarizeó thå built-iî +commandó oæ ZFILER®  Thió helð screeî replaceó thå filå displaù buô  leaveó +thå  statuó linå aô thå toð anä thå commanä linå aô thå bottom¬  excepô thaô +"/=Help¢ changeó tï "/=Files"®  Aó yoõ might¬  therefore¬  guess¬  pressinç +slasè agaiî wilì takå yoõ bacë tï thå filå displaù screen. + É  dï  noô kno÷ iæ anyonå makeó uså oæ thió  feature¬  buô  alì  ZFILEÒ +commanä operationó caî bå invokeä froí thå helð screen® Althougè yoõ cannoô +seå  thå filå pointer¬  yoõ caî manipulatå iô iî thå usuaì way¬  anä yoõ caî +telì  whaô  filå yoõ arå pointinç tï froí thå namå displayeä  aô  thå  uppeò +righô oî thå statuó line. +:C + ZFILEÒ Commandó  + + Basically¬  thå commandó falì intï severaì classes® Onå classificatioî +reflectó wherå thå codå foò thå commanä resides® Therå arå twï categories: + + A® Built-Iî Commands + B® Macrï Commands + + Clasó  Á includeó thå functionó foò whicè thå codå ió parô  oæ  ZFILER® +Macrï commandó arå likå aliaseó iî thaô theù generatå commanä lineó thaô arå +passeä tï thå commanä processoò foò execution® Theså commandó makå ZFILEÒ á +shell® + + Á  seconä classificatioî dependó oî whaô thå commanä actó upon®  Threå +categorieó describå thå objecô oæ thå commands: + + 1® thå pointed-tï file + 2® á grouð oæ taggeä files + 3® neitheò oæ thå above + + Helð  foò commandó iî clasó A3¬  residenô commandó thaô dï noô  perforí +anù  actioî oî thå files¬  maù bå founä bù selectinç Ð ‚ froí thå maiî menu® +Help for the others may be found by selecting  N . +:P + Pointeò Commandó  + + Clasó A³ includeó thå commandó thaô movå thå filå pointer®  Theså  arå +showî oî thå helð screen¬  anä É wilì noô lisô theí here®  Onå caî movå thå +pointeò  tï  thå  nexô  filå  oî thå screeî oò tï  thå  previouó  onå  (witè +wraparound)»  up¬  down¬  left¬  oò righô (witè wraparound)» tï thå firsô oò +lasô filå oî thå currenô screen»  oò tï thå verù firsô oò verù lasô filå  oæ +thoså  selecteä  bù thå filå mask®  Onå caî advancå tï thå nexô  screeî  oæ +fileó oò tï thå previouó screen® Obviously¬ somå oæ theså functionó wilì bå +redundanô iî somå cases¬  sucè aó wheî alì thå selecteä fileó caî fiô oî onå +screeî (thinë whaô happenó wheî therå ió exactlù onå filå selected). + + ZFILEÒ  learnó froí thå TCAÐ thå controì characteró senô bù anù speciaì +cursoò  keyó oî thå keyboarä (provideä theù senä á singlå controì  characteò +anä provideä thå TCAÐ haó beeî seô uð correctly)¬ anä iô makeó theí generatå +thå  up¬  down¬  left¬  anä righô functions®  Iæ thå cursoò  keyó  generatå +controì codeó normallù useä foò anotheò function¬ theî thaô functioî wilì bå +losô  (thå  cursoò keyó takå precedence)®  Thaô caî  causå  problems®  Onå +solutioî  ió tï eliminatå thå definitioî oæ thå cursoò keyó iî thå TCAР anä +simplù   uså  thå  defaulô  WordStaò  diamonä  keyó  foò  thoså   functions® ŠAlternatively¬  onå  caî  patcè  ZFILEÒ tï uså differenô keyó  foò  itó  owî +functions¬ buô thió ió noô straightforwarä tï do¬ anä É wilì noô describå iô +here. + Thå "J¢ (Jump© commanä allowó yoõ tï jumð tï á filå thaô yoõ name® Thió +ió  verù handù wheî therå arå manù fileó iî thå displaù oò wheî thå filå yoõ +wanô  ió  noô oî thå currenô screen®  Presó thå "J¢ key¬  anä yoõ  wilì  bå +prompteä foò á filå name®  Yoõ dï noô havå tï enteò thå exacô name® ZFILEÒ +automaticallù convertó whaô yoõ typå intï á wildcarä filespec¬  anä iô findó +thå firsô filå thaô matches® Foò example¬ iæ yoõ enteò onlù "Z¢ followeä bù +á return¬  thió ió equivalenô tï "Z*.*"¬ anä ZFILEÒ wilì movå thå pointeò tï +thå firsô filå thaô startó witè á "Z"® Similarly¬ iæ yoõ enteò ".D"¬ ZFILEÒ +wilì movå tï thå firsô filå witè á filå typå thaô startó witè "D". + + Thå "J¢ functioî ió verù handy»  however¬  therå ió more®  Manù peoplå +arå  noô  awarå thaô yoõ maù presó control-Ê tï repeaô thå samå  searcè  anä +finä  thå nexô matchinç file®  Thå searcè wilì wrað arounä froí thå enä  oæ +thå  fileó bacë tï thå beginning®  Thió functioî ió noô listeä oî thå  helð +screeî becauså É coulä noô finä rooí foò it. + + Control-É (TAB© ió aî aliaó foò control-Ê (jumð tï filå again)¬ foò uså +witè terminaì definitionó (TCAPs© whicè definå control-Ê aó aî arro÷ key. +:N + Otheò Non-Filå Commandó  + + Somå otheò commandó thaô dï noô acô oî fileó areº  X¬ L¬ A¬ S¬ E¬ H¬ Z¬ +anä O® "X"¬ aó thå commanä prompô remindó you¬ ió useä tï exiô froí ZFILER® +Besideó  terminatinç thå currenô executioî oæ thå program¬  iô alsï  removeó +ZFILER'ó entrù iî thå shelì stacë (iæ iô diä not¬  yoõ woulä jusô reenteò iô +righô away). + + Wå  alreadù  spokå  abouô  thå "L¢  (Log©  commanä  earlier®  Thå  "A¢ +(Alphabetizå  oò Arrangå oò Alphá sort© toggleó thå waù iî whicè  thå  fileó +arå  sorted¬  namelù  alphabeticallù bù thå filå namå oò bù thå  filå  type® +Thå  "S¢ (Status© commanä promptó yoõ foò á disë drivå letteò anä theî telló +yoõ thå amounô oæ spacå remaininç oî thaô disk. + + Thå "E¢ commanä (refresè scrEEî -- É kno÷ that'ó stretchinç things¬ buô +"R¢ waó alreadù used© redrawó thå screen®  Yoõ mighô thinë thaô thió  woulä +neveò  bå needed¬  buô therå arå twï circumstanceó iî whicè iô comeó iî verù +handy®  Onå  ió wheî ZFILEÒ ió beinç useä oî á remotå system®  Iô ió  truå +thaô verù fe÷ RASó makå ZFILEÒ available¬ buô É dï oî Z-Nodå #3® Iæ yoõ geô +somå  linå noise¬  thå screeî caî becomå garbled®  Theî thå "E¢ keù caî  bå +useä tï dra÷ á fresè screen. + Thå  otheò circumstancå iî whicè thå "E¢ commanä saveó thå daù ió  witè +Backgrounder-ié  iæ yoõ dï noô havå á screeî driveò (É don'ô foò mù  Concepô +10¸  terminaì  -- neveò goô arounä tï writinç one¬  partlù becauså  alì  thå +programó É uså frequentlù havå á redra÷ keù likå thió one)® É simplù definå +á  BGié  keù  macrï  specifyinç  "E¢ aó  thå  "redraw¢  key¬  savå  thå  keù +definitionó  tï  ZFILER.BG¬  anä attacè thaô  definitioî  tï  ZF.COM®  Theî +wheneveò  É swað taskó bacë intï ZFILER¬  BGié simulateó mù pressinç thå "E¢ +key¬  anä thå screeî ió redrawn®  Thió ofteî giveó á fasteò screeî  refresè +thaî onå getó witè á full-fledgeä screeî driver. + + Thå "H¢ (Help© commanä generateó á macrï commanä tï invokå thå Z-Systeí +HELР facility®  Tï  telì thå truth¬  É havå noô useä thió anä  don'ô  eveî +remembeò preciselù whaô iô does® É woulä havå tï looë aô thå sourcå code. + Thå "Z¢ (Z-system© commanä promptó yoõ foò á command¬  anä whateveò yoõ +enteò  ió  passeä  oî  tï  thå Z-Systeí multiplå  commanä  linå  buffeò  foò +execution®  Wheî  thaô  commanä  linå  ió  complete¬  ZFILEÒ  ió  reinvokeä +automatically. + + Wheî  yoõ  uså thå "Z¢ command¬  yoõ wilì normallù bå loggeä  intï  thå +directorù  thaô ió currentlù displayed®  However¬  thió wilì noô alwayó  bå +possible®  ZFILEÒ allowó yoõ tï selecô directorieó witè useò numberó froí ° +tï 31® Unlesó yoõ arå usinç á versioî oæ ZCPR3³ oò ZCPR3´ witè thå HIGHUSEÒ +optioî  enabled¬  yoõ  cannoô loç intï useò areaó abovå 15®  Iî  thaô  caså +ZFILEÒ  wilì puô yoõ iî thå directorù youò werå iî wheî yoõ invokeä  ZFILER® +Iî anù case¬  thå commanä prompô wilì indicatå thå directorù froí whicè youò +commanä linå wilì bå executed. + Sincå  commandó yoõ ruî usinç thå "Z¢ functioî maù puô somå informatioî +oî  thå  screeî thaô yoõ woulä noô wanô ZFILEÒ  tï  obliteratå  immediately¬ +therå ió á flaç seô thaô signaló ZFILEÒ tï prompô yoõ anä tï waiô foò yoõ tï +presó  á  keù  beforå puttinç uð itó display®  Herå ió á tið  foò  advanceä +users® Iæ yoõ enteò youò commanä linå witè onå oò morå leadinç spaces¬ thió +shell-waiô flaç wilì noô bå set¬  anä ZFILEÒ wilì returî withouô youò havinç +tï  presó  á key®  Thå leadinç spaceó arå strippeä froí  thå  commanä  linå +beforå  iô ió passeä tï thå commanä processor®  Thió meanó thaô yoõ  cannoô +uså  á  leadinç spacå tï forcå invocatioî oæ thå extendeä commanä  processoò +(ECP)»  yoõ havå tï uså thå slasè prefiø instead®  Á spacå anä á slasè wilì +forcå invocatioî oæ thå ECÐ anä wilì disablå thå shell-waiô flag. + + Thå   finaì  commanä  iî  clasó  A³  ió  thå  "O¢  (Options©   command® +Informatioî regarding it can be found in the  O  menu. +:S + Single-Filå Built-Iî Functionó  + + No÷ let'ó discusó thå commandó iî clasó A1¬  thå built-iî commandó thaô +acô  oî  thå  pointed-tï file®  Theså arå invokeä bù pressinç  onå  oæ  thå +followinç  keys¬  whoså  meaninç ió indicateä iî parenthesesº  à (Copy)¬  Í +(Move)¬ Ä (Delete)¬ Ò (Rename)¬ Ö (View)¬ Ð (Print)¬ Æ (Filå size)¬ Ô (Tag)¬ +anä Õ (Untag)®  Somå oæ theså arå self-explanatory¬  anä É wilì noô discusó +them. + Thå "C¢ commanä copieó á filå tï anotheò directorù undeò thå samå name» +iô doeó noô allo÷ onå tï givå á ne÷ namå foò thå destinatioî filå  (however¬ +yoõ caî dï thaô witè á macrï command)® Thå "M¢ commanä doeó noô reallù movå +á file» iô copieó thå filå anä then¬ iæ thå copù waó successful¬ deleteó thå +originaì  file®  Iô ió reallù á combinatioî oæ "C¢ anä "D"®  Movinç á filå +thió waù ió inefficienô iæ thå destinatioî directorù ió oî thå samå drivå aó +thå sourcå file® Á macrï commanä thaô invokeó aî ARUNÚ aliaó caî geô arounä +thió limitatioî (anä almosô alì otheò ZFILEÒ limitations). + + Thå  "V¢ (View© anä "P¢ (Print© commandó no÷ havå á switchablå  filteò +whicè onlù passeó printablå characters¬ carriagå return¬ anä linå feeds. + Thå taç anä untaç commandó arå useä tï selecô á grouð oæ fileó oî whicè +operationó  caî bå performed®  Taggeä fileó arå indicateä iî twï  ways®  Á +speciaì characteò ("#"© ió placeä afteò thå filå namå iî thå  display¬  and¬ +iæ thå terminaì supportó videï highlighting¬ thå filå ió highlighted. + + Twï  relateä commandó arå × (Wilä tag© anä Ù (Yanë back?)®  "W¢ allowó +yoõ  tï taç oò untaç groupó oæ fileó designateä bù aî ambiguouó  filå  spec® +Afteò  taggeä fileó arå operateä oî bù thå built-iî grouð commandó describeä +below¬  thå taç markeò "#¢ ió changeä tï "'¢ (á sofô tag)®  Thå "Y¢ commanä +changeó  thå sofô tagó bacë intï harä tagó sï thaô furtheò grouð  operationó +caî bå performeä oî thoså files. + + ZFILEÒ  no÷ rememberó alì thå filå tagó wheî iô returnó froí á macrï oò +Ú  commanä  (iô  writeó á temporarù  file¬  ZFILER.TAG¬  tï  á  configurablå +directorù whicè containó thå filå list). +:G + Built-Iî Grouð Commandó  + + Grouð  commandó  arå initiateä bù pressinç thå "G¢  (Group©  key®  Thå +commanä prompô aô thå bottoí oæ thå screeî changeó to + + Command¿ (/=Help¬ X=Quit© ‚ Groupº (A,C,D,F,M,P,R,T,U,V) + +Foò  no÷ wå wilì consideò onlù thå built-iî grouð functionó (clasó  A2©  anä +wilì takå uð grouð macrï commandó (clasó B2© nexô time. + + Excepô  foò thå fouò functionó describeä below¬  thå letteró invokå thå +samå actioî aó thå individuaì commanä correspondinç tï thaô letter¬  buô thå +functioî  ió performeä oî alì thå taggeä files®  Wå wilì noô discusó  thoså +further®  Notå  iî particulaò thaô thå keyó "A¢ anä "R"¬  however¬  havå  á +grouð functioî thaô ió completelù differenô froí thå individuaì function. + Thå  "U¢ anä "T¢ grouð functionó dï noô acô oî thå taggeä  files»  theù +changå thå tagging® Thå formeò untagó alì files» thå latteò tagó theí all. + + Grouð  Tag/Untaç anä Wilä Taç caî bå independentlù seô tï operatå  froí +thå  filå  pointeò tï thå enä oæ thå ring¬  ratheò thaî oî thå entirå  ring® +Grouð  Tag/Untaç  seeí  tï bå thå mosô usefuì iæ aô thå starô  aô  thå  filå +pointer® Uså thå Optionó commanä tï controì this. + + Thå "R¢ grouð functioî ió anotheò onå thaô doeó not¬ strictlù speaking¬ +acô oî thå taggeä files®  Iô reverseó thå tags¬  tagginç thå fileó thaô haä +beeî untaggeä anä untagginç thå oneó thaô haä beeî tagged® Thió caî bå verù +handù iî severaì circumstances® Foò example¬ yoõ mighô wanô tï copù alì thå +fileó  excepô two®  Iô ió easieò tï taç thoså twï anä theî tï  reverså  thå +tags®  Aó  anotheò  example¬  yoõ mighô wanô tï copù somå oæ thå  displayeä +fileó  tï  onå  diskettå anä thå otheró tï á seconä  diskette®  É  dï  thió +frequently®  É begiî bù tagginç thå oneó tï gï tï thå firsô diskette® Theî +É grouð copù ("GC"© theí tï thå destinatioî diskette® Next¬ É yanë bacë thå +tagó usinç thå "Y¢ commanä anä theî reverså thå tagó witè "GR"®  No÷ É  caî +grouð copù thå resô tï thå seconä diskette. + Thå  "A¢ (Archive© grouð commanä ió verù handù foò automatinç  backups® +Wheî iô ió entered¬  thå tagó arå removeä froí anù taggeä filå whoså archivå +flaç ió set® Aó á result¬ onlù fileó thaô havå beeî modifieä sincå thå flaç +waó  lasô  seô  wilì remaiî tagged®  Iî addition¬  thå  "A¢  grouð  commanä +automaticallù initiateó á grouð copù operatioî buô witè onå speciaì feature® +Afteò thå filå haó beeî copieä successfully¬  thå archivå flaç oî thå sourcå +filå ió seô tï indicatå thaô thå filå haó beeî backeä up. + + Undeò  lateò  versionó oæ VFILER¬  thå grouð "A¢ commanä  automaticallù +taggeä alì unarchiveä files» undeò ZFILEÒ iô untagó thå archiveä ones® Thió +differencå ió verù important®  Witè VFILER¬  yoõ werå forceä tï bacë uð alì +thå fileó selecteä bù thå VFILEÒ filå mask® Undeò ZFILEÒ yoõ caî selecô thå +fileó thaô wilì bå candidateó foò backinç up®  Iæ yoõ wanô thå achievå  thå +samå  functioî aó undeò VFILER¬  jusô taç alì thå fileó firsô witè "GT¢  anä +theî archivå theí witè "GA"®  Oî thå otheò hand¬  iæ yoõ wanô tï exludå BAË +fileó froí thå backup¬ yoõ caî "GT¢ alì files¬ untaç thå "*.BAK¢ fileó usinç +thå "W¢ command¬ anä theî uså thå "GA¢ command. + Afteò  yoõ  enteò  thå  commanä  "GA"¬  yoõ  wilì  bå  prompteä  foò  á +destinatioî directory®  Yoõ dï noô havå tï supplù one¡ Iæ yoõ simplù enteò +á carriagå return¬  thå copù operatioî wilì bå skipped¬ anä yoõ wilì bå lefô +witè tagó oî thå fileó thaô neeä tï bå backeä up®  Yoõ caî theî uså á macrï +functioî  tï  bacë  theí  uð  iî  á  specializeä  way¬   sucè  aó  crunchinç +(compressing© theí tï thå backuð disë (insteaä oæ copyinç theí aó theù  are© +oò puttinç theí intï á librarù oî thå backuð diskette® Thå macrï techniqueó +requireä tï dï thió arå iî thå FILEÒ Scripô Macrï Facility‚ section. +:O + Thå Optioî Commanä  + + Wheî thå optioî commanä letteò "O¢ ió pressed¬ á speciaì optionó screeî +ió  displayed®  Eleveî operatinç characteristicó caî bå changeä froí á menõ +witè thå followinç appearancå (approximately): + + A® singlå replacå querù Y + B® grouð replacå querù Y + C® archivå replacå querù N + D® verifù querù Y + E® verifù defaulô Y + F® suppresó SYÓ fileó Y + G® sorô bù filå namå N + H® seô copieä filå attributeó Y + I® uså desô filå attributeó Y + J® archivå destinatioî Y + K® searcè patè foò CMÄ filå N + Wå  wilì  explaiî  thå meaninç oæ eacè oæ theså optionó  iî  á  moment® +Firsô á fe÷ wordó abouô thå mechanics® Whilå thå optionó menõ ió displayed¬ +pressinç  thå  indeø  letteò  aô thå lefô wilì  causå  thå  settinç  oæ  thå +correspondinç  optioî tï bå toggled¬  anä thå ne÷ statå wilì bå showî iî thå +columî  aô  thå right®  Thå listinç abovå showó thå initiaì  statå  oæ  thå +optionó  iî mù personaì versioî oæ ZFILER®  Wheî yoõ arå finisheä  togglinç +options¬ jusô presó carriagå returî tï returî tï thå maiî ZFILEÒ menu® Theså +optioî  settingó  arå storeä iî thå ZFILEÒ shelì stacë entrù anä  wilì  thuó +continuå  iî  effecô througè alì ZFILEÒ operationó untiì thå commanä "X¢  ió +useä tï terminatå thå shell. + + Thå  firsô threå optionó concerî ho÷ ZFILEÒ respondó wheî  copyinç  (oò +moving©  fileó anä á filå oæ thå samå namå alreadù existó iî thå destinatioî +directory®  Iteí  Á applieó wheî individuaì fileó arå copieä (commandó  "C¢ +anä "M")»  iteí  applieó wheî á grouð copù ió performeä (commandó "GC¢  anä +"GM")»  anä  iteí à applieó wheî performinç aî archivinç operatioî  (commanä +"GA")®  Iæ thå optioî ió "YES"¬ theî ZFILEÒ wilì prompô onå beforå existinç +fileó  arå  eraseä anä givå onå thå chancå tï canceì thå operatioî foò  thaô +file¬  leavinç thå existinç filå intact®  Iæ thå optioî ió toggleä tï "NO"¬ +theî existinç fileó wilì bå overwritteî withouô eveî á message. + Thå nexô twï optionó affecô thå verificatioî oæ thå copieä filå iî  thå +destinatioî  directory®  Iteí Ä determineó whetheò oò noô thå useò wilì  bå +askeä abouô verification®  Iæ thió optioî ió seô tï "N"¬  theî thå statå oæ +optioî  Å  wilì determinå whetheò oò noô verificatioî ió performeä  oî  filå +copies®  Iæ thió optioî ió seô tï "Y"¬  theî beforå eacè copy¬  move¬ grouð +copy¬ oò grouð move¬ ZFILEÒ wilì puô uð thå prompô "Verifù (Y/N)?". + + Thå  nexô twï optionó affecô thå waù fileó arå displayeä oî thå screen® +Iæ iteí Æ ió seô tï "Y"¬  theî fileó witè thå "system¢ oò SYÓ attributå wilì +bå  suppressed¬  thaô  is¬  noô includeä amonç thå selecteä fileó  oî  whicè +ZFILEÒ acts®  Thió ió á reasonablå choicå foò thió option¬  sincå thå  mosô +commoî  uså  oæ  thå  SYÓ  attributå ió tï makå  thå  fileó  disappeaò  froí +consideratioî durinç filå maintenancå anä displaù operations® Iteí Ç oî thå +optionó  menõ determineó whetheò fileó arå sorteä firsô bù namå anä theî  bù +typå oò vicå versa® Changinç thió optioî ió presentlù equivalenô tï thå "A¢ +commanä froí thå maiî ZFILEÒ commanä menu. + Thå  nexô  threå optionó concerî ho÷ filå attributeó arå  treateä  wheî +fileó arå copied® Onå possibilitù ió tï creatå ne÷ fileó witè á cleaî slatå +oæ attributeó (thaô is¬  alì attributeó resetº  noô read-only¬  noô SYS¬ noô +archived)®  Thió ió whaô wilì happeî wheî optioî È ió seô tï "N¢ (buô  notå +optioî J¬  whicè maù overridå this)® Wheî thå attributeó oæ thå destinatioî +filå arå tï bå set¬  theù caî bå seô iî twï possiblå ways® Iæ á filå oæ thå +samå  namå  existeä iî thå destinatioî directory¬  theî itó filå  attributeó +coulä bå useä foò thå copù thaô replaceó it®  Thió ió whaô wilì bå donå  iæ +optioî  É  ió  seô tï "Y"®  Iæ optioî É ió seô tï "N¢ oò iæ  therå  waó  nï +matchinç filå iî thå destinatioî directory¬  theî thå attributeó wilì bå seô +tï matcè thoså oæ thå sourcå file. + Optioî  Ê caî seô á speciaì overridå foò thå archivå oò ARà attribute® +Iæ thå optioî ió seô tï "N"¬ theî thå ARà attributå ió treateä jusô likå thå +otheò  attributeó accordinç tï optionó È anä I®  Iæ optioî Ê ió seô tï YES¬ +theî thå destinatioî filå alwayó haó itó ARà attributå set. + + Therå waó aô onå timå á greaô deaì oæ controversù oveò thå waù thå  ARà +attributå ió handleä undeò ZFILER® Aô onå timå iô waó alwayó reset¬ sï thaô +thå  destinatioî filå woulä bå markeä aó noô backeä up®  Anotheò schooì  oæ +thoughô asserteä that¬  oî thå contrary¬ thå filå waó backeä up¬ sincå therå +waó  á copù oæ iô oî thå sourcå disë froí whicè thå filå waó  copied®  Thaô +latteò  argumenô madå considerablå senså iî thå caså oæ copyinç fileó froí á +masteò  disë  tï á RAÍ disë beforå á worë session®  Herå iô  waó  certainlù +importanô tï starô witè alì fileó markeä witè thå ARà attributå sï thaô  onå +coulä easilù telì aô thå enä oæ thå sessioî whicè fileó haä beeî modifieä sï +thaô theù coulä bå copieä bacë tï thå permanenô storagå medium. + + Alì  iî  all¬  É neveò understooä thió  controversy®  Botè  approacheó +clearlù havå merit¬  anä sincå ZFILEÒ supportó both¬ É sa÷ nï reasoî foò alì +thå argument®  Iî á futurå versioî oæ ZFILER¬ É thinë É woulä likå tï adä á +flaç  worä thaô woulä indicatå whicè driveó shoulä automaticallù seô thå ARà +flaç wheî thå Ê optioî ió seô tï YES® Thaô way¬ thå optioî coulä bå madå tï +applù tï RAÍ driveó only. + Thå finaì iteí oî thå optioî menu¬  optioî K¬  determineó ho÷ thå macrï +commanä filå ZFILER.CMÄ (seå discussioî below© wilì bå located®  Therå  arå +twï choices®  Iæ optioî Ë ió seô tï YES¬ theî ZFILEÒ wilì looë foò iô firsô +iî  thå currentlù displayeä directorù anä theî alonç thå entirå ZCPR³ searcè +path®  Thió  optioî ió usefuì iæ onå wantó tï havå differenô macrï  commanä +fileó thaô applù tï specifiã directorù areas® Alternatively¬ iæ optioî Ë ió +seô  tï  NO¬  theî  ZFILEÒ  locateó thå CMÄ filå  withouô  usinç  thå  path® +Dependinç oî ho÷ ZFILEÒ ió configureä (thió wilì bå discusseä anotheò time)¬ +thå  filå wilì bå soughô eitheò iî thå rooô directorù oæ thå patè (thå  lasô +directorù  specifieä  oî thå searcè path© oò iî á specifiã  drive/useò  areá +codeä intï ZF.COM® Thió alternativå resultó iî fasteò operation¬ especiallù +iæ thå specifieä directorù resideó oî á RAÍ disk. + + Thå  optionó  controlleä  bù thå optioî menõ caî  alsï  bå  permanentlù +changeä iî thå ZFILEÒ prograí filå usinç á patchinç utilitù likå ZPATCH® Iî +thå  firsô  pagå oæ thå file¬  yoõ wilì seå thå ascié  strinç  "OPT:"®  Thå +eleveî byteó followinç thió strinç contaiî thå startuð valueó foò thå eleveî +options® Patcè á bytå tï 0° foò NÏ oò FÆ foò YES. + + Onå maù alsï uså Aì Hawley'ó Zconfig¬ alonç witè thå .CFÇ filå provideä +witè  youò  copù  oæ  ZFILER¬  iî ordeò tï instalì ZFILER  tï  youò  tastes® +Handleó  alì  thå configuratioî normallù needed®  Yoõ maù alsï uså  á  filå +patcheò  tï changå thå defaulô nameó oæ somå oæ ZFILER'ó temporarù fileó, iæ +yoõ wish. +:M:ZFMACRO +:H:ZFHIST +:J + Creditó  + + Thió  documenô containó thå texô oæ twï articleó oî ZFILEÒ bù Jaù  Sagå +whicè  originallù  appeareä  iî  Thå Computeò Journaì issueó  #3¶  anä  #37® +Reprinteä witè permissioî oæ thå publisher: + + Thå Computeò Journal + P.O® Boø 12 + S® Plainfield¬ NÊ 07080-0012 + + Theså  .HLÐ fileó foò ZFILEÒ werå editeä bù Leï M®  Cavanaugè IIÉ  froí +thå documentatioî provideä witè ZFILER. + \ No newline at end of file diff --git a/Source/Images/d_zpm3/u10/ZFMACRO.HLP b/Source/Images/d_zpm3/u10/ZFMACRO.HLP new file mode 100644 index 00000000..960d43c2 --- /dev/null +++ b/Source/Images/d_zpm3/u10/ZFMACRO.HLP @@ -0,0 +1,409 @@ +; ---------------------------------- + | | + | ZFILER's Script Macro Facility | + | | + ---------------------------------- + + + M >> Introduction to ZFILEÒ's Macros + + +  << Macro Execution >>   << Macro Writing >>  + + I >> Invokinç Macros S >> Macrï Scripts + G >> Group Macros D >> Defininç Macroó -- Thå CMÄ File + R >> Ruleó foò Scripô Expansion + E >> Macrï Examples + L >> Sample Macro CMD Listing +:M + Introduction to ZFILEÒ's Macros  + + Althougè ZFILEÒ caî accomplisè manù taskó usinç itó built-iî functions¬ +itó reaì poweò comeó froí thå macrï facility¬ whicè allowó iô tï bå extendeä +tï  includå anù functionó thaô caî bå performeä usinç combinationó oæ  otheò +programs®  Thió  ió wherå ZFILEÒ reallù makeó uså oæ itó poweò aó á  shell® +Firsô  É  wilì  describå ho÷ thå macrï facilitù ió used¬  anä  theî  É  wilì +describå  ho÷  thå useò defineó thå macrï functions®  Aó witè thå  built-iî +functions¬  macrï functionó caî operatå eitheò oî singlå fileó oò oî  groupó +oæ files®  Thå single-filå macrï facilitù ió welì developeä anä waó alreadù +presenô  iî nearlù thå samå forí iî VFILER»  thå grouð macrï facilitù ió ne÷ +witè ZFILEÒ and has been greatly expanded. +:I + Invokinç Macros  + + Onå  waù  tï initiatå á macrï operatioî oî thå pointed-tï  filå  ió  tï +presó thå macrï invocatioî key¬  whicè ió normallù thå escapå key® Á prompô +oæ  "Macro:¢  wilì appeaò afteò thå normaì ZFILEÒ commanä prompt®  Aô  thió +poinô  yoõ havå severaì choices®  Iæ yoõ kno÷ thå keù correspondinç tï  thå +macrï yoõ wanô tï run¬ theî yoõ caî simplù presó thaô key® ZFILEÒ wilì theî +construcô  á  commanä  linå  anä pasó iô oî tï  thå  commanä  processoò  foò +execution®  Iæ  ZFILEÒ  ió  configureä  foò  instanô  macrï  operatioî  (iô +generallù is)¬  theî macroó associateä witè thå numbeò keyó "0¢ througè  "9¢ +caî bå initiateä withouô thå macrï invocatioî key»  thaô is¬  thå numbeò keù +entereä  alonå  aô  thå maiî ZFILEÒ commanä prompô wilì generatå  thå  macrï +function. + + Iæ yoõ presó thå macrï invocatioî keù á seconä time¬  á user-createä helð +screeî  wilì bå displayed®  Thió screeî generallù listó thå availablå macrï +functions®  Yoõ caî no÷ presó thå keù foò thå desireä function¬  oò yoõ caî +presó  carriagå returî tï canceì thå macrï operatioî anä returî tï thå  maiî +ZFILEÒ menu®  Thå helð menõ screeî wilì alsï bå displayeä iæ yoõ presó  thå Š"#¢  key®  Thió ió á holdoveò froí VFILEÒ anä ariseó iî parô becauså oæ thå +structurå  oæ  thå  filå  iî whicè thå macroó  arå  defineä  (morå  oî  thió +shortly). +:G + Group Macros  + + Grouð  macroó  arå  invokeä iî á similaò waù froí  thå  grouð  functioî +commanä line®  Afteò yoõ havå taggeä á grouð oæ files¬ presó thå "G¢ keù tï +enteò  grouð mode®  Thå prompô wilì lisô onlù thå built-iî grouð functions¬ +buô  iæ  yoõ presó thå macrï invocatioî key¬  yoõ caî proceeä  aó  describeä +abovå foò single-filå macrï operations¬  excepô thaô thå macrï functioî wilì +bå performeä oî eacè oæ thå taggeä files. + + Thå  grouð macrï facilitù workó á littlå differentlù thaî  thå  single- +filå  macrï  facility®  Sincå thå commanä linå woulä generallù noô bå  lonç +enougè  tï contaiî thå commandó foò alì thå taggeä files¬  thå  grouð  macrï +facilitù  workó bù writinç ouô á batcè filå foò processinç bù ZEØ oò SUBMIT® +Iî  thió  waù therå ió virtuallù nï limiô tï thå numbeò oæ  fileó  oî  whicè +grouð macroó caî operate. + Therå arå manù configurablå optionó (describeä below© thaô arå associateä +witè  thå grouð macrï operation®  Theså includå thå namå oæ thå ZEØ oò  SU +batcè file¬  thå directorù tï whicè iô ió written¬ anä thå commanä linå thaô +ZFILEÒ  generateó  tï initiatå thå batcè operation®  Thå NZ-COÍ versioî  oæ +ZFILEÒ useó á filå calleä ZFILER.ZEØ anä thå commanä linå "ZEØ ZFILER"® Thå +Z3PLUÓ version¬  undeò whicè ZEØ wilì noô run¬ useó á filå calleä ZFILER.SU +anä á commanä linå oæ "SUBMIÔ ZFILER". + + Sincå macroó (anä thå maiî menõ "Z¢ function© worë bù passinç  commandó +tï  thå  commanä processor¬  filå tagó werå oncå losô bù oldeò  versionó  oæ +ZFILER»  wheî  theså oldeò versionó resumeä operation¬  thå procesó  starteä +afresh® ZFILEÒ no÷ rememberó alì thå filå tagó wheî iô returnó froí á macrï +oò Ú commanä (iô writeó á temporarù file¬  "ZFILER.TAG"¬  tï á  configurablå +directorù whicè containó thå filå list). +  List Capability for Group Macros  + + Iæ á ZFILER.CMÄ scripô beginó witè á commá (beforå oò afteò thå leadinç +"!¢ shelì pauså parameter)¬  ZFILEÒ wilì alwayó expanä thå macrï directlù tï +ZCPR'ó multiplå commanä line®  Iî thå caså oæ á grouð macro¬ $P¬ $F¬ anä $Ô +parameteró  arå  expandeä tï á lisô oæ alì taggeä files¬  separateä  bù  thå +characteò followinç thå leadinç comma® + +For example, the script: + + 1 , !echo the tagged files are $F + +displayó  "THÅ  TAGGEÄ FILEÓ ARÅ "¬  followeä bù á lisô oæ thå taggeä  fileó +separateä  bù  ¢ ¢ oî thå consolå (assuminç ECHÏ ió á valiä  ZCPÒ  command)® +ZFILEÒ theî promptó foò á keypresó beforå returning®  Pleaså notå thaô thió +macrï bufferó thå entirå lisô oæ taggeä fileó tï CP/M'ó commanä linå buffer¬ +whicè ió onlù 12µ byteó iî length®  Thå abovå command¬  therefore¬ normallù +causeó  á  "Commanä toï long¢ erroò iæ morå thaî abouô ¸ fileó  arå  tagged¬ +dependinç oî thå lengthó oæ thå taggeä names. + + Lisô capabilitù allowó programó whicè accepô á filå list¬  sucè aó LPUÔ +oò V¬ tï ruî oî taggeä files® ZEØ ió NOÔ involved. +  Group Macro Tagged File Count  + + Thå  numbeò oæ fileó taggeä ió puô intï Useò Registeò #µ (configurable© +beforå runninç ZEX®  Thå macrï caî theî dowî counô anä takå somå additionaì +actioî afteò iô haó ruî oî eacè taggeä file. + + For example, if you press "G1", the script: + + 1 ! $d$u:;$!crunch $f B1:;reg m5;if reg 5= 0;$"Library DU ":; + lput $"Library Name: " B1:*.* +1;era B1:*.?Z?;fi;$h: + +cruncheó taggeä fileó tï á fixeä emptù directorù B1:¬ makeó á librarù ouô oæ +theí  (leavinç  rooí  foò  ± morå file© witè  inpuô  foò  librarù  namå  anä +location¬  theî  eraseó alì "thå crunchettes"®  Thió macrï requireó REÇ  tï +decremenô Registeò 5. + + Notå  thaô REÇ musô bå á Type³ oò Type´ (oò RCP© foò thå ZEØ GÏ "$!¢ tï +ruî CRUNCÈ repeatedly® Alsï notå thaô registeró onlù holä á 25µ count¡ Foò +consistency¬  singlå  macroó  puô á "1¢ counô iî thå  Useò  Register®  Useò +registeò rangå 0..¹ ió noô enforced¬  sï yoõ caî uså registeró 10..3± iæ yoõ +wish® However¬ 10-1µ arå reserved¬ while 16-1· arå useä bù other programs. +:S + Macrï Scriptó  + + ZFILEÒ  macrï  scriptó arå similaò tï thoså iî ARUNÚ anä iî  thå  otheò +menõ  shelló  (MENU¬  VMENU¬  FMANAGER©  iî thaô parameteò  expressionó  caî +appear®  Thå  criticaì parameteró -- thå oneó thaô implemenô functionó  thaô +cannoô bå achieveä anù otheò waù -- arå thoså thaô conveù informatioî  abouô +thå  directorù currentlù displayeä bù ZFILEÒ anä abouô thå pointed-tï  file® +Parameteró  consisô  oæ  á "$¢ characteò followeä bù onå oæ  thå  characteró +listeä below. + Useò prompô parameters: + + § Useò inpuô prompt + ¢ Useò inpuô prompt + * Clear screen in user prompt + $ Escape character (example: '$"' for double quote) + ^ Control character (example: '^x' for control-X) + + + Parameteró foò directories: + + - currentlù displayeä directory + à DIÒ form + Ä Drivå letter + Õ Useò number + + - homå directorù (froí where ZFILEÒ waó invoked) + È DÕ form + Ò Homå DIR + Parameteró foò pointed-tï file: + + Ð Fulì informatioî (DU:FN.FT) + Æ Filå namå (FN.FT) + Î Filå namå only + Ô Filå typå only + + Speciaì parameters: + + ¡ GÏ substitutioî indicator + ¤ Thå dollaò character + + Thå parameteró arå listeä iî á speciaì ordeò above¬ anä wå wilì explaiî +thaô later® Firsô wå wilì jusô presenô thå meaninç foò eacè parameter. + + Thå  parameteò  expressionó  $¢ anä $§ arå useä  tï  displaù  á  prompô +messagå  tï  thå useò anä tï reaä iî á responså string®  Singlå anä  doublå +quoteó  arå equivalent®  Oncå thå prompô parameteò haó beeî  detected¬  alì +subsequenô characteró uð tï onå oæ thå quotå characteró arå displayeä aó thå +useò prompt®  Thus¬  iæ É aí noô mistaken¬ therå ió presentlù nï waù tï puô +eitheò quotå characteò intï thå prompt®  Thå enä oæ thå linå oò thå enä  oæ +thå filå wilì alsï terminatå thå prompt. + Iæ yoõ wanô tï makå fancù screens¬ yoõ caî includå escapå sequenceó anä +somå controì characteró (obviouslù carriagå returî won'ô work)®  Promptó iî +scriptó  maù  contaiî controì characteró aó "^x"¬  wherå ø ió anù  characteò +froí À tï z. + + Thå  dollaò sigî maù bå useä aî "escapå character¢ foò scripô  prompts¬ +anä caî be used to include the $, ^, ", and ' characters in prompts. + + Examples: + Script Result + $"Enter name or $^C: " Enter name or ^C: + $"Type $"//$" for help: " Type "//" for help: + + Thå $ª scripô parameteò clearó thå screeî during¬ anä rebuildó iô afteò +á scripô prompt® Usagå ió $"$*..text.."® Prompô texô appearó aô thå toð oæ +á cleared screen. + No÷  foò  thå directorù parameters®  Parameteró C¬  D¬  anä  Õ  returî +informatioî  abouô thå currentlù displayeä directory¬  whilå È anä Ò  returî +informatioî  abouô  thå  homå  directory¬  thå onå  froí  whicè  ZFILEÒ  waó +originallù  invoked®  PLEASÅ  NOTEº  macroó alwayó operatå  froí  thå  homå +directory®  Thå reasoî foò thió ió thaô ZFILEÒ caî displaù directorieó witè +useò  numberó higheò thaî 1µ eveî wheî iô ió noô possiblå tï loç intï  theså +areas®  Iæ yoõ wanô tï operatå iî thå displayeä directory¬ theî youò scripô +musô includå aî expliciô directory-changå commanä oæ thå forí "$D$U:¢ aô thå +beginninç  (oò  "$C:¢ iæ youò systeí requireó thå uså oæ nameä  directories© +anä á commanä oæ thå forí "$H:¢ (oò "$R:"© aô thå end. + + Onå speciaì notå abouô thå parameteró thaô returî directorù names®  Iæ +thå directorù haó nï name¬  theî thå strinç "Noname¢ ió returned® Thió wilì +presumablù noô matcè anù actuaì namå anä wilì lead¬  onå hopes¬  tï á benigî +erroò condition® Theså parameteró arå includeä onlù foò systemó thaô dï noô +allo÷ directorieó tï bå indicateä usinç thå DÕ forí (É hopå thaô fe÷ iæ  anù +systemó arå seô uð thió way). + No÷  wå  comå  tï  thå fouò filå namå parameters®  Theù  allo÷  uó  tï +generatå  easilù thå completå filå specificatioî oò anù parô  oæ  it®  Notå +thaô  "$F¢ ió noô quitå thå samå aó "$N.$T"®  Thå latteò alwayó containó  á +dot» thå formeò doeó noô iæ thå filå haó nï filå type. + + Finally¬  wå havå twï speciaì parameters®  "$$¢ ió includeä tï allo÷ á +dollaò  sigî  characteò tï bå entereä intï thå script®  "$!¢ ió  á  controì +parameteò thaô ió useä onlù wheî á grouð macrï ió executed® Iæ iô ió placeä +immediatelù  beforå  á tokeî (strinç oæ contiguouó  characters)¬  theî  thaô +tokeî  wilì bå replaceä bù thå strinç "GO¢ oî alì buô thå firsô expansioî oæ +thå script®  Thió allowó grouð macrï scriptó tï operatå fasteò bù  avoidinç +repetitivå  loadinç  oæ  á COÍ file®  Iô musô bå useä witè greaô  carå  anä +consideration¬ however¬ foò reasonó thaô É wilì noô gï intï here. +:D + Defininç Macroó ‚ -- Thå CMÄ File + + No÷  let'ó  learî  ho÷ tï definå thå macrï functionó  wå  want®  Aó  É +indicateä earlier¬ thå macroó arå defineä iî á filå calleä "ZFILER.CMD¢ (thå +ZFILEÒ ComManÄ file)®  Iî thå versioî oæ ZFILEÒ distributeä witè NZ-COÍ anä +Z3PLUS¬  thå  CMÄ  filå ió searcheä foò iî thå rooô directorù oæ  thå  ZCPR³ +commanä  searcè  path®  Aó describeä earlier¬  thå optioî menõ  allowó  thå +entirå patè tï bå used® Therå arå alsï somå additionaì configurablå optionó +thaô  wilì  bå  discusseä  anotheò  time®  Yoõ musô bå  surå  tï  puô  youò +ZFILER.CMÄ  filå  iî  thå appropriatå directory®  Iæ  thå  filå  cannoô  bå +located¬  yoõ wilì stilì geô thå macrï prompt¬ but¬ afteò yoõ havå specifieä +á macrï key¬ thå erroò messagå "ZFILER.CMÄ NOÔ Found¢ wilì bå displayed. + + Thå  ZFILER.CMÄ filå ió aî ordinarù texô filå thaô yoõ caî creatå  witè +anù  editoò  oò wordprocessoò thaô caî makå plaiî ASCIÉ fileó  (WordStaò  iî +nondocumenô mode¬ foò example)® Thå CMÄ filå haó twï parts® Thå firsô parô +containó thå macrï commanä definitions»  thå seconä containó thå helð screeî +(describeä earlier). + Iî  thå firsô parô oæ thå CMÄ file¬  eacè linå defineó  á  macro®  Thå +characteò  iî  thå firsô columî ió thå keù associateä witè  thaô  definitioî +(caså  doeó noô matter)®  Macroó caî bå associateä witè thå 1° numbeò keys¬ +2¶  letteò  keys¬  anä  alì  printablå speciaì  characteró  excepô  foò  "#¢ +(explaineä below)®  Thå spacå characteò anä alì controì characteró arå  noô +allowed®  Owinç  tï  aî  oversight¬  thå  rubouô  (DEL©  characteò  caî  bå +associateä witè á macro! + + Afteò  thå  characteò thaô nameó thå macrï therå maù bå anù  numbeò  oæ +blankó (includinç zero)®  Iæ thå firsô non-blanë characteò ió "!"¬ theî thå +"strikå  anù key¢ (shell-wait© prompô wilì appeaò beforå ZFILEÒ putó uð  thå +filå displaù afteò á macrï commanä ió run® Thió shoulä bå useä wheneveò thå +macrï  wilì  leavå  informatioî oî thå screeî thaô yoõ wilì  wanô  tï  read® +Afteò  thå "!¢ therå caî agaiî bå anù numbeò oæ spaces®  Anù remaininç texô +oî thå linå ió takeî aó thå scripô foò thå macrï command. + Thå  seconä parô oæ thå CMÄ filå startó wheî á "#¢ characteò ió founä  iî +thå  firsô  columî (hencå thå exclusioî oæ thaô characteò aó á macrï  name)® +Oncå thaô characteò appears¬ alì remaininç text¬ includinç texô oî thå line¬ +wilì bå useä aó thå helð screen®  Sincå ZFILEÒ wilì adä somå informatioî tï +thå  displaù  (thå  namå oæ thå pointed-tï filå  anä  á  prompt)¬  yoõ  wilì +generallù  wanô tï keeð thå helð screeî tï nï morå thaî 2° lines¬  includinç +aî extrá blanë linå aô thå enä foò spacing®  Witè somå experimentatioî  yoõ +wilì geô thå hanç oæ designinç thió screen. + + + Here is a parameter reminder you can include in your ZFILER.CMD file: + + $! ZEX 'GO' $P DU:FN.FT $D Current Drive + $".." PROMPT $F FN.FT $U Current User + $'..' PROMPT $N FN $C Current DIR + $* CLS on Prompt $T FT $H Home DU $R Home DIR +:R + Ruleó foò Scripô Expansioî  + + ZFILEÒ  followó á specifiã sequencå oæ stepó wheî expandinç  á  script¬ +onå thaô giveó iô á speciaì featurå that¬ É woulä guess¬ fe÷ useró arå awarå +of®  Thå  firsô  steð  iî thå expansioî ió tï procesó onlù  thå  user-inpuô +prompô parameters¬  substitutinç foò thå prompô whateveò thå useò entereä iî +response®  Thió resultó iî á modifieä scripô thaô ió theî processeä bù  thå +seconä  steð iî thå expansion®  Becauså thå expansioî ió handleä thió  way¬ +thå useò inpuô caî includå ZFILEÒ scripô parameters¡  Thus¬  thå scripô caî +bå useä tï writå á script® Yoõ wilì seå aî examplå oæ thió later. + + Thå  seconä  steð  iî  thå expansioî ió tï substitutå  valueó  foò  thå +directorù parameters¬ whicè arå somewhaô likå constants® Theù dï noô changå +aó  á  functioî oæ thå pointed-tï file®  Finally¬  iî  á  thirä  step¬  thå +remaininç parameteró arå expanded® Foò grouð macros¬ thió finaì steð iî thå +expansioî ió repeateä foò eacè oæ thå taggeä files® Thå filå parameteró arå +expandeä  differentlù foò eacè file¬  and¬  startinç witè thå seconä  taggeä +file¬ thå "$!¢ parameteò causeó "GO¢ substitution. +:E + Macrï Exampleó  + + Thå  macrï CMÄ listinç iî sectioî Ì ‚ showó aî examplå oæ á  ZFILER.CMÄ +file¬  onå  designeä tï illustratå somå techniqueó oæ macrï writing®  Whilå +writinç thió article¬ É discovereä thaô onå caî includå blanë lineó aó showî +tï makå thå CMÄ filå easieò tï read® Thå helð screeî parô oæ thå listinç ió +takeî froí mù personaì scripô filå (oî which¬  É havå tï confess¬ É havå noô +reallù workeä verù hard)® Thå macrï definitioî parô oæ thå listinç includeó +onlù  á fe÷ oæ thå definitions®  Yoõ maù wisè tï uså thå Prinô functioî  oæ +thå  HELÐ utilitù tï prinô ouô thió section¬  iî ordeò tï follo÷ alonç  witè +thió discussion. + Thå macrï "Q¢ ió includeä tï illustratå á verù simple¬ buô useful¬ typå +oæ macro®  Iô invokeó thå verù powerfuì filå typinç prograí QÌ (quicë look© +oî  thå pointed-tï file®  Thió ió handù wheî yoõ wanô morå powerfuì viewinç +capabilitù  thaî thaô offereä bù thå built-iî "V¢ command®  QÌ  caî  handlå +cruncheä  fileó  anä libraries¬  anä iô caî displaù texô oò heø  forwarä  oò +backward. + + Macrï  "U¢ uncompresseó á file®  Iô illustrateó á morå compleø  scripô +thaô involveó flo÷ controì anä parameteró thaô extracô individuaì componentó +oæ  thå pointed-tï filå name®  Iô testó thå filå typå tï seå iæ thå  middlå +letteò ió "Q¢ oò "Z"®  Iî thå formeò case¬  iô unsqueezeó thå file»  iî thå +latter¬  iô  uncruncheó  it®  Thå uncompresseä filå iô puô intï thå  sourcå +file'ó directory. + + Macroó S¬  K¬  anä  illustratå thå uså oæ inpuô prompting®  Thå firsô +onå allowó thå useò tï specifù thå filå attributeó tï bå set® Notå thaô thå +prompô includeó á helpfuì remindeò oæ thå syntaø requireä bù SFA. + Macrï  Ë  cruncheó  fileó tï á  user-specifieä  destination®  Iô  alsï +illustrateó ho÷ onå logó intï thå currentlù displayeä directory®  É dï thió +herå sï thaô á nulì answeò tï thå prompô (i.e.¬ jusô á carriagå return© wilì +resulô  iî  thå  cruncheä  fileó beinç placeä  iî  thå  currentlù  displayeä +directorù ratheò thaî iî thå homå directory¬  aó woulä otherwiså bå thå caså +(sincå thaô ió wherå thå macrï runó from¬  remember)® Aó á result¬ however¬ +thió  macrï wilì noô operatå properlù iî useò areaó abovå 1µ undeò  BGié  oò +versionó  oæ thå commanä processoò thaô dï noô allo÷ logginç intï higè  useò +areas. + + Macrï  Â  performó  á  slightlù morå compleø  function®  Iô  noô  onlù +compresseó thå pointed-tï filå tï á specifieä destinatioî directory¬  buô iô +theî markó thå sourcå filå aó havinç beeî backeä up®  Á combinatioî oæ  thå +grouð  archivå  built-iî commanä (tï taç fileó thaô neeä backinç up©  anä  á +grouð macrï  (tï perforí thå backup© giveó thå ZFILEÒ useò á waù tï bacë uð +fileó iî cruncheä forí oî thå backuð disk. + Macrï  Í ió includeä tï sho÷ thaô á ZFILEÒ macro¬  wheî iô needó tï  dï +somethinç  morå compleø thaî iô ió capablå oæ doinç alì bù itself¬  caî pasó +thå  tasë tï aî ARUNÚ alias®  Thå MOVÅ aliaó firsô determineó  whetheò  thå +sourcå  anä destinatioî arå oî thå samå drive®  Iî thaô case¬  MOVE.COÍ  ió +useä  tï  perforí thå move®  Otherwise¬  thå sourcå filå ió copieä  tï  thå +destinatioî anä theî deleted®  Whaô wå have¬  therefore¬  ió á MOVÅ commanä +thaô freeó thå useò oæ thå responsibilitù oæ worryinç abouô whicè driveó arå +involveä -- anotheò examplå oæ ho÷ Z-Systeí caî freå yoõ froí considerationó +thaô neeä noô concerî you¬ thaô dï noô requirå humaî intelligencå tï decide. + + Thå  finaì threå macrï exampleó arå executioî macros®  Macrï Ø  causeó +thå  pointed-tï  filå tï bå executed®  Á morå sophisticateä  versioî  mighô +checë  tï makå surå thaô thå filå typå ió COM®  É opteä foò thå flexibilitù +oæ pointing¬  foò example¬  tï PROGRAM.Z8° anä havinç PROGRAM.COÍ  run®  Iæ +therå ió nï COÍ filå witè á matchinç name¬  thå erroò handleò wilì takå carå +oæ things®  Yoõ wilì notå thå leadinç coloî beforå thå "$n¢ parameter®  Iô +makeó  surå thaô thå currenô directorù ió searcheä eveî iæ iô ió noô oî  thå +path® Prompteä inpuô ió useä tï allo÷ á commanä taiì tï bå included. + Thå  Ú macrï performó á user-specifieä functioî oî thå pointed-tï file® +Twï  separatå useò promptó allo÷ botè thå commanä anä á commanä taiì  tï  bå +given®  Foò  example¬  iæ yoõ wanteä tï squeezå thå filå tï A0:¬  yoõ woulä +enteò  "SQ¢  iî responså tï thå firsô prompô anä "A0:¢ iî  responså  tï  thå +second. + + Thå  ° macrï illustrateó ho÷ thå responså tï á prompô caî bå useä aó  á +ZFILEÒ  script®  Thió macrï takeó carå oæ alì thoså functionó wå forgoô  tï +includå iî ZFILER.CMD® Thå wholå macrï ió jusô prompteä input¬ anä whateveò +wå answeò wilì bå ruî aó á script®  É uså thió functioî sï ofteî thaô É puô +iô  oî á numbeò keù sï thaô iô caî bå invokeä witè á singlå keù ratheò  thaî +thå usuaì pair®  Also¬ aó yoõ maù havå noticed¬ É includå iî thå macrï helð +screeî á lisô oæ thå parameteró thaô caî bå used. + + Thå  onlù  reaì limitatioî oæ thió macro-to-write-a-macrï  approacè  ió +thaô  prompteä inpuô cannoô bå includeä iî thå response®  Aó É writå  this¬ +however¬  iô  occuró  tï  må  thaô  thió limitatioî  coulä  bå  overcomå  bù +recursivelù parsinç thå prompô parameteró untiì nonå remain¬  anä onlù  theî +goinç oî tï thå subsequenô macrï expansioî steps. +:L + SAMPLE MACRO LISTINÇ  + -------------------- +Ñ qì $p + +Õ ¡ iæ $t=?q?;$!sys:uæ $ð $d$u:;else;$!sys:uncò $ð $d$u:;fi + +Ó ¡ $!sfá $ð $¢ SFÁ Optionó (/o,o.® o=ARC,-ARC,R/O,R/W,SYS,DIR)º " +Ë ¡ $d$u:;$!cruncè $æ $"Destinatioî directorù (DU:© -- ";$h: + $d$u:;cruncè $æ $"Destinatioî directorù (DU:© -- ";sfá $æ /arc;$h: + +Í ¡ /movå $ð $"Destinatioî directorù foò moveº " + +Ø ¡ $d$u:;:$î $¢ Commanä Tailº ";$h: +Ú ¡ $d$u:;$¢ Commanä tï perforí oî fileº ¢ $æ $¢ Tailº ";$h: +° ¡ $"Enteò ZFILEÒ macrï scriptº " + £ SAMPLÅ ZFILEÒ MACROÓ FOÒ TCJ + +0® on-linå macrï A® seô Archivå biô N® NULU +1® LPUÔ B® Backuð (cr/sfa© O. +2® Z80ASÍ tï COÍ C® CRà P® Protect +3® Z80ASÍ tï REÌ D® Datå displaù Q® QL +4® Comparå Fileó E® Ediô R. +5® F® S® SFA +6® G® T® Type +7® H® U® Uncompress +8® I® V® VLU +9® J® W. + K® Kruncè X® eXecute + L® LDIÒ Y. + M® Movå Z® ruî command + +$¡  ZEØ  'GO§ $Ä DRIVÅ $Р DU:FN.FÔ $Æ FN.FT +$"..¢ PROMPÔ $Õ USEÒ $Î FÎ $Ô FT +$'..§ PROMPÔ $È HOME + \ No newline at end of file diff --git a/Source/Images/d_zpm3/u10/ZP.HLP b/Source/Images/d_zpm3/u10/ZP.HLP new file mode 100644 index 00000000..e375067b --- /dev/null +++ b/Source/Images/d_zpm3/u10/ZP.HLP @@ -0,0 +1,344 @@ +;   +  Z P  +   + Version 1.7 + + A ZCPR3 Screen-Oriented File/Disk/Memory Patcher + + I -->  Installation  + C -->  Configuration  + O -->  Overview  + S -->  Syntax  + R -->  Running ZP  + M -->  Memory Mode  + D -->  Disk Mode  + F -->  File Mode  + X -->  String Search  + E -->  Record Edit  + H -->  HP Calculator  + Q -->  HP Quik Ref  + K -->  Record Cache  +:I +Installation + +Thå distributioî versioî oæ ZÐ ió supplieä readù foò uså iî ZCPR33« +environments® ZCPR3° useró shoulä instalì ZÐ usinç theiò normaì method® +:C +Configuration + +ZCNFÇ anä ZP.CFÇ maù bå useä tï configurå ZÐ tï alteò thå operatioî oæ thå +prograí tï suiô thå user® Defaulô values¬ sucè aó thå startinç memorù modå +addresó anä thå ASCIÉ recorä characteò displaù modå maù bå configured® + +Thå linå graphicó menõ boø displaù maù bå configureä tï displaù thå menõ +boø iî linå graphicó (foò useró witè reverså videï standout)¬ standouô linå +graphicó (foò useró witè darë screenó anä dií standout© anä tï noô displaù +thå menõ boø aô all. + +Foò useró witè reverså videï standouô anä unblinkinç blocë cursors¬ ZÐ maù +bå configureä tï refresè thå recorä displaù oî enterinç thå ediô modå iî +ordeò tï deletå thå standouô videï placå markeró produceä bù á strinç +searcè oò aî addresó find® Thå heø recorä displaù standouô markeò caî +causå confusioî wheî attemptinç tï ediô thå markeä byte witè aî unblinkinç +cursor. + +ZÐ maù alsï bå configureä tï cleaò thå screeî oî exit® Thå defaulô ió tï +leave the screen display on screen. +:O +Overview + +ZÐ (Zcpr3 Patcher© ió á Z8° screen-orienteä recorä editor-patcher® ZP.1OM¬ +á typå ± version¬ loadinç anä executinç aô 100h¬ wilì ruî undeò anù versioî +oæ ZCPR3® ZP.4OM¬ á typå ´ version¬ executeó onlù undeò ZCPR34+¬ Z3PLUÓ oò +BGii® Botè versionó requirå aî extendeä Z3TCAÐ (aó defineä bù VLIB4D+© anä +alsï requirå thaô thå ZCPR³ wheeì bytå bå set® Thå sourcå codå maù alsï bå +assembleä tï producå á typå ³ version¬ runninç aô 8000è undeò ZCPR33+¬ ŠZ3PLUÓ oò BGii. + +ZÐ waó originallù looselù baseä oî SUPERZAP¬ aká SPÚ oò ZAP33¬ anä waó +developeä aó á work-alikå foò Steveî Cohen'ó greaô ZPATCH1° thaô would¬ iî +additioî tï editinç filå records¬ alsï providå screen-orienteä editinç oæ +memorù anä disë records® ZÐ ió intendeä tï complemenô ratheò thaî replacå +ZPATCH¬ aó welì aó tï complemenô Roâ Friefeld'ó excellenô BCOMÐ anä VCOMP¬ +especiallù wheî theù arå patcheä tï uså thå ZPATCH/WÓ commanä sets® Iî +ordeò tï keeð ZÐ relativelù simple¬ iô lackó ZPATCH'ó comprehensivå strinç +searcè optionó anä doeó noô havå á commanä tï senä thå currenô recorä tï +thå printer® Unlikå ZPATCH¬ ZÐ ió á transienô utilitù anä noô á shell. + +ZÐ haó á one-recorä cachå foò temporarù recorä storagå anä caî movå thå +cachå contentó betweeî file¬ memorù anä disë records® Thió allowó you¬ foò +example¬ tï takå á one-recorä Z3TCAP.Z3Ô filå anä patcè iô intï memorù iî +thå ZCPR³ environment® + +ZÐ alsï containó thå powerfuì anä full-featureä HP12 RPÎ programmer'ó +integeò calculator¬ whicè maù bå calleä uð iî file¬ disk¬ memorù oò recorä +ediô modeó (eveî durinç thå editinç process)¬ tï perform¬ savå oò recalì +thå resultó oæ integeò calculationó oò logicaì operationó iî hex¬ decimal¬ +binary¬ oò characteò modes® +:S +Syntax + +Whilå ZÐ allowó thå useò tï freelù switcè amonç modeó durinç prograí +operation¬ iô alsï maù bå instructeä tï comå uð iî thå desireä initiaì modå +bù usinç thå followinç commanä linå syntax: + + ZP [hex_addr] - Memory mode at hex address + ZP dir: - Disk mode + ZP [dir:]afn - File mode + ZP // - Display syntax help screen +:R +Running ZP + +Excepô foò thå HÐ calculator¬ ZÐ ió menu-driveî anä useó commandó similaò +tï ZPATCH10¬ sï iô shoulä requirå littlå iî thå waù oæ instruction® Morå +specifiã informatioî abouô thå operatioî oæ eacè modå maù bå founä iî thå +following sectionó. + +Severaì alternatå commands¬ however¬ dï noô appeaò iî thå menu® Foò +example¬ therå arå severaì alternatå exiô commands® Whilå thå 'Q§ commanä +ió thå onlù exiô commanä showî iî thå commanä menus¬ 'X§ anä ESà arå +also accepted as exiô commands® + +Foò easieò browsing¬ thå spacå characteò ió accepteä aó aî alternatå next- +screeî commanä aô thå memory¬ filå anä disë menus. + ASCII Record Display Mode + +ZÐ caî displaù characteró iî thå ASCIÉ parô oæ thå recorä displaù iî onå oæ +twï user-selectablå ways® ZP'ó distributioî defaulô ASCIÉ displaù modå +displays onlù thå actuaì displayablå characters¬ displayinç alì otheò +characteró aó '.'s® Thió typå oæ display¬ typicaì oæ DDT¬ ió relativelù +uncluttereä buô iô ió morå difficulô tï reaä texô thaô haó thå higè bitó oæ +characters set, such as WordStaò fileó anä disë directorieó. + +Alternately¬ ZÐ caî bå commandeä tï filteò thå higè bitó oæ thå characteró +beinç displayed¬ convertinç ASCIÉ characteró witè thå higè biô seô tï +displayablå characteró anä displayinç alì otheò characteró aó '.'s® Thió +typå oæ display¬ typicaì oæ PEEK¬ convertó morå characteró tï ASCII® Whilå +iô caî ofteî appeaò morå cluttered¬ iô ió easieò tï reaä WordStaò fileó anä +disë directorieó iî thió mode® + +Durinç operation¬ thå useò caî togglå thå typå oæ ASCIÉ displaù desireä bù +usinç thå non-menõ commanä Control-Á (^A© aô anù oæ thå maiî modå menus® +Therå ió alsï á ZCNFG-configurablå flaç thaô controló thå defaulô ASCIÉ +displaù mode® +:M +Memory Mode + +Memorù modå ió ZP'ó defaulô modå oæ operatioî wheî nï otheò modå ió +specifieä oî thå commanä line® Iæ nï startinç addresó ió specifieä oî thå +commanä line¬ thå addresó oæ thå ZCPR³ environmenô ió thå defaulô startinç +addresó foò thå ZÐ display¬ buô ZCNFÇ maù bå useä tï configurå á differenô +defaulô startinç address¬ sucè aó 100h¬ iæ desired® Thå displaù wilì alsï +starô aô thió configureä addresó wheî memorù modå ió entereä froí anotheò +ZÐ mode. + +Iæ yoõ includå á startinç addresó oî thå commanä linå (uð tï ´ hexidecimaì +characteró witè NÏ non-heø characters)¬ ZÐ wilì begiî itó displaù aô thå +memorù recorä containinç thå specifieä address® Á subsequenô ediô commanä +wilì alsï begiî aô thå specifieä address® + +ZÐ useó thå commanä buffeò aô 80è aó itó workinç recorä buffer¬ sï wheneveò +yoõ vie÷ thå commanä buffeò record¬ yoõ wilì actuallù bå lookinç aô á copù +oæ thå recorä thaô waó previouslù viewed® Notå ho÷ thå commanä buffeò +displaù changeó wheî yoõ steð througè iô froí oppositå directions® Wheî iô +ió displayinç thå commanä buffeò contents¬ ZÐ alsï displayó á speciaì +headeò tï reminä yoõ thaô yoõ arå viewinç thå commanä buffer¬ aó iô ió +generallù inadvisablå (anä usuallù futile© tï attempô tï ediô thå contentó +oæ thå commanä buffer. + +Thå 'T§ (Toð oæ Memory© commanä displayó thå highesô memorù recorä (FF80h- +FFFFh© anä thå 'B§ (Bottoí oæ Memory© commanä displayó thå firsô memorù +recorä (0000h-007Fh)® + +Thå 'A§ commanä allowó yoõ tï selecô thå addresó oæ á memorù 'record§ tï +view® ZÐ wilì displaù thå 12¸ bytå 'record§ containinç thaô address¬ witè +thå bytå aô thå specifieä addresó highlighteä iî botè thå Heø anä ASCIÉ +displays® Iæ thå ediô modå ió subsequentlù selected¬ thå ediô cursoò wilì +alsï bå positioneä aô thå specifieä address. +:D +Disk Mode + +Wheî yoõ selecô thå drivå yoõ wisè tï accesó iî disë mode¬ yoõ maù alsï +specifù á useò area¬ usinç eitheò á DUº oò DIRº specification® Thå +specifieä drive/useò theî becomeó thå defaulô foò anù subsequenô filå +accesses. + +ZÐ startó thå disë modå displaù witè thå firsô directorù record® Otheò +recordó maù bå selecteä bù block¬ record¬ oò track® + +Floppù disë systeí tracë recordó maù bå displayeä bù selectinç tracë ° oò +bù steppinç bacë froí thå directory® Harä disë systeí recordó maù bå +displayeä wheî thå 'first§ disë (á DP OFFSEÔ oæ lesó thaî 10© ió loggeä +in® Otherwiså thå displaù ió limiteä tï thå actuaì loggeä disë tracks® +Wheî steppinç pasô thå firsô oò lasô tracë oò recorä oæ thå disk¬ ZÐ wilì +wrað arounä tï thå otheò enä oæ thå disk. +:F +File Mode + +Thå drive/useò containeä iî anù filenamå specificatioî becomeó thå defaulô +foò anù subsequenô filå oò disë accesses® + +Wheî wildcarä filenameó arå entered¬ ZÐ wilì displaù thå firsô filå founä +iî thå directorù thaô matcheó thå specifieä ambiguouó filename® Iæ thå +filenamå entereä ió á COÍ file¬ á displaù offseô oæ 0100è wilì bå addeä +automaticallù tï thå filå recorä addresseó sï thaô thå firsô filå recorä +wilì starô aô á displaù addresó oæ 0100h® Otheò filå typeó wilì bå +displayeä startinç aô aî addresó oæ 0000è (offseô ½ 0)® Thå 'O§ (Offset© +commanä allowó yoõ tï changå thå displaù offseô aó desired. + +Thå 'A§ commanä allowó yoõ tï selecô aî addresó iî thå file® ZÐ wilì +displaù thå 12¸ bytå recorä containinç thaô address¬ witè thå bytå aô thå +specifieä addresó highlighteä iî botè thå Heø anä ASCIÉ displays® Iæ thå +ediô modå ió subsequentlù selected¬ thå ediô cursoò wilì alsï bå positioneä +aô thå specifieä address. +:X +String Search + +ZP'ó strinç searcè functioî ió similaò tï ZPATCH's¬ buô iô ió mucè morå +basiã anä haó nï options® Stringó tï bå locateä maù bå entereä aó heø oò +ASCIÉ characteró oò anù combination® ASCIÉ stringó arå entereä delimiteä +bù singlå oò doublå quoteó anä wilì bå automaticallù capitalized® Heø +characteró arå entereä delimiteä bù commaó oò spaces® Botè singlå anä +doublå quotå characteró musô bå entereä aó heø characters® Thå remaindeò Šoæ thå terminaì displaù linå afteò thå prompt¬ abouô 4µ characters¬ maù bå +useä foò characteò entry® Foò example¬ thå entry: + + 'Fil',65,6e,61 "me" will create the search string 'FILENAME' + +Á fe÷ compromiseó anä assumptionó havå beeî madå sï thaô thå samå searcè +routinå maù bå useä iî alì situations® Wheî doinç thå search¬ ZÐ wilì +firsô comparå á searcè characteò witè thå buffeò characteò withouô regarä +tï ASCIÉ case® Iæ nï matcè ió found¬ thå buffeò characteò wilì bå filtereä +anä capitalizeä (iæ ASCII© anä anotheò comparisoî made® Thió allowó yoõ tï +searcè foò texô iî WordStaò fileó oò disë directorieó withouô worryinç +abouô caså oò higè bits¬ whilå stilì retaininç thå abilitù tï dï searcheó +foò heø characteró sucè aó commanä oò addresó characters® Foò example: + + 'Filename§ wilì matcè 'FILEN','A'+80h,'ME§ or 'FILENAME§ + (wherå thå 'A§ haó thå higè biô set)¬ while + + 'Filen',E1,"me¢ wilì matcè 'FILEN','A'+80h,'ME'¬ buô noô +          'FILENAME§ (specificallù insistinç oî aî exacô matcè +          foò E1h¬ whicè ió 'A§ witè thå higè biô set). + +Aó á resulô oæ thió relativelù simplå searcè scheme¬ heø searcè characteró +thaô happeî tï alsï bå loweò caså ASCIÉ characteró wilì matcè botè exacô +anä 'capitalized§ characters¬ whicè mighô resulô iî aî occasionaì falså +positivå match® Foò examplå 65è ('e'© wilì matcè botè 65è anä 45è ('E'). + +Strinç searcheó maù bå stoppeä aô anù timå bù enterinç anù character® Disë +modå strinç searcheó wilì continuå untiì á matcè ió founä oò untiì yoõ stoð +thå search¬ wrappinç aô thå lasô tracë bacë tï thå firsô track® + +Wheî thå 'C§ commanä ió useä tï continuå á search¬ thå searcè wilì starô +froí thå addresó oæ thå lasô matcè iæ iô ió locateä iî thå recorä currentlù +displayed¬ otherwiså iô wilì starô aô thå beginninç oæ thå currenô record. + +Wheî á strinç ió located¬ thå recorä iî whicè iô ió founä wilì bå displayeä +anä thå firsô bytå oæ thå strinç wilì bå highlighteä iî botè thå Heø anä +ASCIÉ displays® Iæ thå ediô modå ió theî selected¬ thå ediô cursoò wilì bå +positioneä aô thå starô oæ thå founä string® Iæ á strinç ió noô found¬ thå +currenô recorä wilì bå redisplayed. +:E +Record Edit + +ZP¬ likå ZPATCH¬ useó thå WordStaò diamonä keyó (^S¬ ^E¬ ^D¬ ^X© tï controì +thå cursoò durinç editing® Thå backspacå keù ió aî alternatå tï ^Ó tï movå +thå cursoò left® Thå arro÷ keyó defineä iî thå Z3TCAÐ arå alsï mappeä aó +alternatå cursoò controì keys¬ eveî thougè theù arå noô showî iî thå ediô +modå commanä menu® + +Somå terminals¬ sucè aó ANSÉ terminals¬ have arro÷ keyó thaô generatå morå +thaî onå character® Foò theså terminals¬ thå arro÷ keù definitionó iî thå +Z3TCAÐ wilì probablù bå thå WordStaò diamonä keys® Pressinç aî actuaì +arro÷ keù maù causå itó strinç tï bå interpreteä bù ZÐ aó thå equivalenô +serieó oæ characters® Thió wilì usuallù bå undesirable® Iî thå caså oæ +ANSÉ terminals¬ thå arro÷ codeó wilì causå aî exiô froí ZP. + +Wheî thå ediô modå ió entereä followinç á strinç searcè oò aî addresó +specification¬ thå ediô cursoò wilì bå placeä aô thå beginninç oæ thå founä +strinç oò aô thå specifieä address® Specifyinç thå desireä ediô addresó +beforå enterinç thå ediô modå ió á quicë waù tï directlù reacè thå desireä +addresó iî thå recorä beinç edited® Thå addresó oæ thå bytå currentlù +beinç editeä ió displayeä iî thå ediô modå menõ box. + +Thå ESà keù toggleó thå ediô modå betweeî thå Heø anä ASCIÉ displays® + +ZÐ haó á speciaì Filì commanä (^F© thaô allowó yoõ tï filì á numbeò oæ +byteó iî thå 12¸ bytå recorä beinç editeä witè á specifieä filì byte® Thå +fill syntaø isº + + Filì bytå (iî heø oò quoteä ASCII: 0, e5, ff, '*', etc) + Separatoò (comma¬ spacå oò tab© + Decimaì numbeò oæ byteó tï bå filled (* = fill to end of record) + +Filló begin witè thå currenô cursoò position® Filì lengthó uð tï 25µ (FFh© +wilì bå accepted¬ buô á maximuí oæ 12¸ byteó can bå filled® Thå filì wilì +alwayó stoð aô thå enä oæ thå recorä iæ yoõ enteò á lengtè greateò thaî thå +numbeò oæ byteó remaininç iî thå record® Yoõ maù alsï enteò thå speciaì +lengtè characteò ª tï telì ZÐ tï filì tï thå enä oæ thå record® Enteò '?§ +aô thå filì prompô foò á helð screen. + +ZÐ useó thå ZPATCÈ commandó tï exiô thå ediô mode® Enteò ^Ñ tï quiô +withouô savinç thå changes¬ anä enteò ^× tï savå thå changeó anä exit® +:Q +HP Calculator Quick Reference + +ZÐ containó thå powerfuì anä full-featureä HP12 RPÎ programmer'ó integeò +calculator® Thå calculatoò maù bå calleä uð aô anù timå (eveî durinç thå +editinç process© tï perform¬ savå oò recalì thå resultó oæ integeò +calculationó oò logicaì operationó iî hex¬ decimal¬ binary¬ oò characteò +modes® + +Thå calculatoò ió botè invokeä anä exiteä bù enterinç ^C® Sincå thå +calculatoò retainó alì registeò informatioî aó lonç aó ZÐ ió running¬ +calculatoò registeró maù bå useä tï storå referencå datá betweeî otheò ZÐ +operations® Thå calculatoò maù alsï bå invokeä durinç recorä editinç +operationó withouô affectinç thå editinç procesó iî anù way. + HP12 Command Summary + + ^X Clear entire stack + BS Delete last character + Enter number into register X + = Exchange the contents of X and Y + L Restore last X value + < or , Roll stack down one level + > or . Roll stack up one level + Sn Store contents of X in memory register n (0-5 or R) + Rn Recall contents of memory register n to register X + ^C Exit HP12 + + HP12 Math Function Summary + +     «    Addition¬ X=Y+Ø +     ­    Subtraction¬ X=Y-Ø +     ª    Multiplication¬ X=Y*Ø +     Þ    Exponentiation¬ X=Y^Ø (Y to the power X) +     ¯    Integeò quotient¬ X=INT(Y/X© +      - Remainder in Register R=X*(Y/X-INT(Y/X)© +     ¦    Bitwiså AND¬ X=Y&X +     ü    Bitwiså OR¬ X=Y|X +     þ    Negatioî [2'ó complement]¬ X=~Ø +:K +Record Cache + +ZÐ provideó á one-recorä buffeò intï whicè yoõ caî copù thå currentlù +displayeä record® Yoõ caî lateò exchangå thå cacheä recorä witè thå recorä +beinç currentlù displayed® Thió allowó you¬ foò example¬ tï experimentallù +ediô á recorä whilå maintaininç á copù oæ thå unediteä recorä iî thå cachå +buffer® Notå thaô wheî yoõ exiô ZP¬ thå contentó oæ thå cachå buffeò wilì +bå lost¬ sï iæ yoõ wisè tï preservå á record¬ exchangå iô witè á recorä +froí á 'holding§ filå oæ aô leasô onå recorä iî lengtè thaô yoõ havå +previouslù reserveä foò recorä storagå (ZÐ wilì noô creatå files.© Yoõ caî +alsï savå á cacheä recorä iî aî unuseä 12¸ bytå 'record§ iî memory¬ usinç +SAVE.COÍ tï savå thå memorù recorä tï á filå afteò yoõ exiô ZP® Finally¬ +ZÐ contentó wilì remaiî preserveä iæ yoõ reenteò iô usinç thå JUMÐ (tï thå +loaä addresó displayeä iî thå signoî banner© command¬ assuminç thaô yoõ +haven'ô overwritteî thå ZÐ locations. + +Thå seconä ZÐ statuó linå displayó thå thå origiî oæ thå current cacheä +record® Copyinç á recorä intï thå cachå wilì overwritå thå previouó +contentó oæ thå cache® Performinç á cachå copù oò exchangå operatioî +automaticallù returnó yoõ tï youò previouó modå anä updateó thå currenô +recorä display. +:N:HP-RPN.HLP +:H:HP-ZP.HLP + \ No newline at end of file diff --git a/Source/Images/hd0/s1/u0/COPY.CFG b/Source/Images/d_zpm3/u14/COPY.CFG similarity index 95% rename from Source/Images/hd0/s1/u0/COPY.CFG rename to Source/Images/d_zpm3/u14/COPY.CFG index 3d5310ac..e55fcebf 100644 Binary files a/Source/Images/hd0/s1/u0/COPY.CFG and b/Source/Images/d_zpm3/u14/COPY.CFG differ diff --git a/Source/Images/d_zpm3/u14/ERASE.CFG b/Source/Images/d_zpm3/u14/ERASE.CFG new file mode 100644 index 00000000..aee78543 Binary files /dev/null and b/Source/Images/d_zpm3/u14/ERASE.CFG differ diff --git a/Source/Images/d_zpm3/u14/HELPC15.CFG b/Source/Images/d_zpm3/u14/HELPC15.CFG new file mode 100644 index 00000000..33b0cb1c Binary files /dev/null and b/Source/Images/d_zpm3/u14/HELPC15.CFG differ diff --git a/Source/Images/fd1/u0/ZCNFG24.CFG b/Source/Images/d_zpm3/u14/ZCNFG24.CFG similarity index 100% rename from Source/Images/fd1/u0/ZCNFG24.CFG rename to Source/Images/d_zpm3/u14/ZCNFG24.CFG diff --git a/Source/Images/d_zpm3/u14/ZEX.CFG b/Source/Images/d_zpm3/u14/ZEX.CFG new file mode 100644 index 00000000..20c5a255 Binary files /dev/null and b/Source/Images/d_zpm3/u14/ZEX.CFG differ diff --git a/Source/Images/d_zpm3/u14/ZF11.CFG b/Source/Images/d_zpm3/u14/ZF11.CFG new file mode 100644 index 00000000..32568460 Binary files /dev/null and b/Source/Images/d_zpm3/u14/ZF11.CFG differ diff --git a/Source/Images/d_zpm3/u14/ZP17.CFG b/Source/Images/d_zpm3/u14/ZP17.CFG new file mode 100644 index 00000000..0477e176 Binary files /dev/null and b/Source/Images/d_zpm3/u14/ZP17.CFG differ diff --git a/Source/Images/d_zpm3/u15/alias.com b/Source/Images/d_zpm3/u15/alias.com new file mode 100644 index 00000000..bdd1e667 Binary files /dev/null and b/Source/Images/d_zpm3/u15/alias.com differ diff --git a/Source/Images/d_zpm3/u15/arunz.com b/Source/Images/d_zpm3/u15/arunz.com new file mode 100644 index 00000000..9fb0a2f0 Binary files /dev/null and b/Source/Images/d_zpm3/u15/arunz.com differ diff --git a/Source/Images/d_zpm3/u15/autotog.com b/Source/Images/d_zpm3/u15/autotog.com new file mode 100644 index 00000000..3c7a5980 Binary files /dev/null and b/Source/Images/d_zpm3/u15/autotog.com differ diff --git a/Source/Images/hd_cpm3/s1/u0/CHAPTER1.DOC b/Source/Images/d_zpm3/u15/clrhist.com similarity index 50% rename from Source/Images/hd_cpm3/s1/u0/CHAPTER1.DOC rename to Source/Images/d_zpm3/u15/clrhist.com index 75464337..02a39c83 100644 Binary files a/Source/Images/hd_cpm3/s1/u0/CHAPTER1.DOC and b/Source/Images/d_zpm3/u15/clrhist.com differ diff --git a/Source/Images/d_zpm3/u15/copy.com b/Source/Images/d_zpm3/u15/copy.com new file mode 100644 index 00000000..606c81a5 Binary files /dev/null and b/Source/Images/d_zpm3/u15/copy.com differ diff --git a/Source/Images/d_zpm3/u15/date.com b/Source/Images/d_zpm3/u15/date.com new file mode 100644 index 00000000..67a84b2d Binary files /dev/null and b/Source/Images/d_zpm3/u15/date.com differ diff --git a/Source/Images/d_zpm3/u15/dev.com b/Source/Images/d_zpm3/u15/dev.com new file mode 100644 index 00000000..4360aab6 Binary files /dev/null and b/Source/Images/d_zpm3/u15/dev.com differ diff --git a/Source/Images/d_zpm3/u15/device.com b/Source/Images/d_zpm3/u15/device.com new file mode 100644 index 00000000..78075a3f Binary files /dev/null and b/Source/Images/d_zpm3/u15/device.com differ diff --git a/Source/Images/d_zpm3/u15/dir.com b/Source/Images/d_zpm3/u15/dir.com new file mode 100644 index 00000000..16ead13b Binary files /dev/null and b/Source/Images/d_zpm3/u15/dir.com differ diff --git a/Source/Images/d_zpm3/u15/diskinfo.com b/Source/Images/d_zpm3/u15/diskinfo.com new file mode 100644 index 00000000..068cc97a Binary files /dev/null and b/Source/Images/d_zpm3/u15/diskinfo.com differ diff --git a/Source/Images/d_zpm3/u15/du.com b/Source/Images/d_zpm3/u15/du.com new file mode 100644 index 00000000..896b1daa Binary files /dev/null and b/Source/Images/d_zpm3/u15/du.com differ diff --git a/Source/Images/d_zpm3/u15/dump.com b/Source/Images/d_zpm3/u15/dump.com new file mode 100644 index 00000000..97c10c03 Binary files /dev/null and b/Source/Images/d_zpm3/u15/dump.com differ diff --git a/Source/Images/d_zpm3/u15/ed.com b/Source/Images/d_zpm3/u15/ed.com new file mode 100644 index 00000000..203eafd7 Binary files /dev/null and b/Source/Images/d_zpm3/u15/ed.com differ diff --git a/Source/Images/d_zpm3/u15/erase.com b/Source/Images/d_zpm3/u15/erase.com new file mode 100644 index 00000000..cdc3ea60 Binary files /dev/null and b/Source/Images/d_zpm3/u15/erase.com differ diff --git a/Source/Images/d_zpm3/u15/gencom.com b/Source/Images/d_zpm3/u15/gencom.com new file mode 100644 index 00000000..d0816425 Binary files /dev/null and b/Source/Images/d_zpm3/u15/gencom.com differ diff --git a/Source/Images/d_zpm3/u15/gencpm.com b/Source/Images/d_zpm3/u15/gencpm.com new file mode 100644 index 00000000..d9d67499 Binary files /dev/null and b/Source/Images/d_zpm3/u15/gencpm.com differ diff --git a/Source/Images/d_zpm3/u15/get.com b/Source/Images/d_zpm3/u15/get.com new file mode 100644 index 00000000..7f12456e Binary files /dev/null and b/Source/Images/d_zpm3/u15/get.com differ diff --git a/Source/Images/d_zpm3/u15/goto.com b/Source/Images/d_zpm3/u15/goto.com new file mode 100644 index 00000000..5d9476fd Binary files /dev/null and b/Source/Images/d_zpm3/u15/goto.com differ diff --git a/Source/Images/d_zpm3/u15/help.com b/Source/Images/d_zpm3/u15/help.com new file mode 100644 index 00000000..378cf03b Binary files /dev/null and b/Source/Images/d_zpm3/u15/help.com differ diff --git a/Source/Images/d_zpm3/u15/hexcom.com b/Source/Images/d_zpm3/u15/hexcom.com new file mode 100644 index 00000000..e8eb54b4 Binary files /dev/null and b/Source/Images/d_zpm3/u15/hexcom.com differ diff --git a/Source/Images/d_zpm3/u15/if.com b/Source/Images/d_zpm3/u15/if.com new file mode 100644 index 00000000..01b857bb Binary files /dev/null and b/Source/Images/d_zpm3/u15/if.com differ diff --git a/Source/Images/d_zpm3/u15/initdir.com b/Source/Images/d_zpm3/u15/initdir.com new file mode 100644 index 00000000..03cce335 Binary files /dev/null and b/Source/Images/d_zpm3/u15/initdir.com differ diff --git a/Source/Images/hd0/s1/u0/LBREXT.COM b/Source/Images/d_zpm3/u15/lbrext.com similarity index 100% rename from Source/Images/hd0/s1/u0/LBREXT.COM rename to Source/Images/d_zpm3/u15/lbrext.com diff --git a/Source/Images/d_zpm3/u15/lib.com b/Source/Images/d_zpm3/u15/lib.com new file mode 100644 index 00000000..de16a896 Binary files /dev/null and b/Source/Images/d_zpm3/u15/lib.com differ diff --git a/Source/Images/d_zpm3/u15/link.com b/Source/Images/d_zpm3/u15/link.com new file mode 100644 index 00000000..fc66084b Binary files /dev/null and b/Source/Images/d_zpm3/u15/link.com differ diff --git a/Source/Images/d_zpm3/u15/loadseg.com b/Source/Images/d_zpm3/u15/loadseg.com new file mode 100644 index 00000000..503d7679 Binary files /dev/null and b/Source/Images/d_zpm3/u15/loadseg.com differ diff --git a/Source/Images/d_zpm3/u15/mac.com b/Source/Images/d_zpm3/u15/mac.com new file mode 100644 index 00000000..f1fdba57 Binary files /dev/null and b/Source/Images/d_zpm3/u15/mac.com differ diff --git a/Source/Images/hd0/s1/u0/MBASIC.COM b/Source/Images/d_zpm3/u15/mbasic.com similarity index 100% rename from Source/Images/hd0/s1/u0/MBASIC.COM rename to Source/Images/d_zpm3/u15/mbasic.com diff --git a/Source/Images/d_zpm3/u15/names.ndr b/Source/Images/d_zpm3/u15/names.ndr new file mode 100644 index 00000000..fc153076 Binary files /dev/null and b/Source/Images/d_zpm3/u15/names.ndr differ diff --git a/Source/Images/d_zpm3/u15/nulu.com b/Source/Images/d_zpm3/u15/nulu.com new file mode 100644 index 00000000..fc5594b1 Binary files /dev/null and b/Source/Images/d_zpm3/u15/nulu.com differ diff --git a/Source/Images/d_zpm3/u15/patch.com b/Source/Images/d_zpm3/u15/patch.com new file mode 100644 index 00000000..548b266e Binary files /dev/null and b/Source/Images/d_zpm3/u15/patch.com differ diff --git a/Source/Images/d_zpm3/u15/pip.com b/Source/Images/d_zpm3/u15/pip.com new file mode 100644 index 00000000..e1321a2a Binary files /dev/null and b/Source/Images/d_zpm3/u15/pip.com differ diff --git a/Source/Images/d_zpm3/u15/put.com b/Source/Images/d_zpm3/u15/put.com new file mode 100644 index 00000000..c9d35243 Binary files /dev/null and b/Source/Images/d_zpm3/u15/put.com differ diff --git a/Source/Images/d_zpm3/u15/remove.com b/Source/Images/d_zpm3/u15/remove.com new file mode 100644 index 00000000..4f2bc236 Binary files /dev/null and b/Source/Images/d_zpm3/u15/remove.com differ diff --git a/Source/Images/d_zpm3/u15/rename.com b/Source/Images/d_zpm3/u15/rename.com new file mode 100644 index 00000000..8582175f Binary files /dev/null and b/Source/Images/d_zpm3/u15/rename.com differ diff --git a/Source/Images/d_zpm3/u15/rmac.com b/Source/Images/d_zpm3/u15/rmac.com new file mode 100644 index 00000000..f608dc11 Binary files /dev/null and b/Source/Images/d_zpm3/u15/rmac.com differ diff --git a/Source/Images/d_zpm3/u15/rsxdir.com b/Source/Images/d_zpm3/u15/rsxdir.com new file mode 100644 index 00000000..dd880a61 Binary files /dev/null and b/Source/Images/d_zpm3/u15/rsxdir.com differ diff --git a/Source/Images/d_zpm3/u15/sainst.com b/Source/Images/d_zpm3/u15/sainst.com new file mode 100644 index 00000000..33075a7d Binary files /dev/null and b/Source/Images/d_zpm3/u15/sainst.com differ diff --git a/Source/Images/d_zpm3/u15/salias.com b/Source/Images/d_zpm3/u15/salias.com new file mode 100644 index 00000000..b9f3562f Binary files /dev/null and b/Source/Images/d_zpm3/u15/salias.com differ diff --git a/Source/Images/d_zpm3/u15/save.com b/Source/Images/d_zpm3/u15/save.com new file mode 100644 index 00000000..03ceb989 Binary files /dev/null and b/Source/Images/d_zpm3/u15/save.com differ diff --git a/Source/Images/d_zpm3/u15/set.com b/Source/Images/d_zpm3/u15/set.com new file mode 100644 index 00000000..e4c374dc Binary files /dev/null and b/Source/Images/d_zpm3/u15/set.com differ diff --git a/Source/Images/d_zpm3/u15/setdef.com b/Source/Images/d_zpm3/u15/setdef.com new file mode 100644 index 00000000..005ac7ad Binary files /dev/null and b/Source/Images/d_zpm3/u15/setdef.com differ diff --git a/Source/Images/d_zpm3/u15/setpath.com b/Source/Images/d_zpm3/u15/setpath.com new file mode 100644 index 00000000..4af639bc Binary files /dev/null and b/Source/Images/d_zpm3/u15/setpath.com differ diff --git a/Source/Images/d_zpm3/u15/setz3.com b/Source/Images/d_zpm3/u15/setz3.com new file mode 100644 index 00000000..4ddb374f Binary files /dev/null and b/Source/Images/d_zpm3/u15/setz3.com differ diff --git a/Source/Images/d_zpm3/u15/show.com b/Source/Images/d_zpm3/u15/show.com new file mode 100644 index 00000000..5f2458ec Binary files /dev/null and b/Source/Images/d_zpm3/u15/show.com differ diff --git a/Source/Images/d_zpm3/u15/submit.com b/Source/Images/d_zpm3/u15/submit.com new file mode 100644 index 00000000..e0473c7c Binary files /dev/null and b/Source/Images/d_zpm3/u15/submit.com differ diff --git a/Source/Images/d_zpm3/u15/tcap.z3t b/Source/Images/d_zpm3/u15/tcap.z3t new file mode 100644 index 00000000..1a43a949 Binary files /dev/null and b/Source/Images/d_zpm3/u15/tcap.z3t differ diff --git a/Source/Images/d_zpm3/u15/type.com b/Source/Images/d_zpm3/u15/type.com new file mode 100644 index 00000000..17e695f2 Binary files /dev/null and b/Source/Images/d_zpm3/u15/type.com differ diff --git a/Source/Images/d_zpm3/u15/verror.com b/Source/Images/d_zpm3/u15/verror.com new file mode 100644 index 00000000..687ea587 Binary files /dev/null and b/Source/Images/d_zpm3/u15/verror.com differ diff --git a/Source/Images/d_zpm3/u15/vlu.com b/Source/Images/d_zpm3/u15/vlu.com new file mode 100644 index 00000000..722a9a00 Binary files /dev/null and b/Source/Images/d_zpm3/u15/vlu.com differ diff --git a/Source/Images/d_zpm3/u15/xref.com b/Source/Images/d_zpm3/u15/xref.com new file mode 100644 index 00000000..32c57ae0 Binary files /dev/null and b/Source/Images/d_zpm3/u15/xref.com differ diff --git a/Source/Images/hd0/s0/u0/zcnfg.com b/Source/Images/d_zpm3/u15/zcnfg.com similarity index 100% rename from Source/Images/hd0/s0/u0/zcnfg.com rename to Source/Images/d_zpm3/u15/zcnfg.com diff --git a/Source/Images/hd0/s1/u0/ZDE.COM b/Source/Images/d_zpm3/u15/zde.com similarity index 100% rename from Source/Images/hd0/s1/u0/ZDE.COM rename to Source/Images/d_zpm3/u15/zde.com diff --git a/Source/Images/d_zpm3/u15/zerase.com b/Source/Images/d_zpm3/u15/zerase.com new file mode 100644 index 00000000..bda93efc Binary files /dev/null and b/Source/Images/d_zpm3/u15/zerase.com differ diff --git a/Source/Images/d_zpm3/u15/zex.com b/Source/Images/d_zpm3/u15/zex.com new file mode 100644 index 00000000..cd46405d Binary files /dev/null and b/Source/Images/d_zpm3/u15/zex.com differ diff --git a/Source/Images/d_zpm3/u15/zfiler.com b/Source/Images/d_zpm3/u15/zfiler.com new file mode 100644 index 00000000..e926d231 Binary files /dev/null and b/Source/Images/d_zpm3/u15/zfiler.com differ diff --git a/Source/Images/d_zpm3/u15/zhelp.com b/Source/Images/d_zpm3/u15/zhelp.com new file mode 100644 index 00000000..990301fe Binary files /dev/null and b/Source/Images/d_zpm3/u15/zhelp.com differ diff --git a/Source/Images/d_zpm3/u15/zp.com b/Source/Images/d_zpm3/u15/zp.com new file mode 100644 index 00000000..593fe381 Binary files /dev/null and b/Source/Images/d_zpm3/u15/zp.com differ diff --git a/Source/Images/d_zpm3/u15/zshow.com b/Source/Images/d_zpm3/u15/zshow.com new file mode 100644 index 00000000..0bd0b1de Binary files /dev/null and b/Source/Images/d_zpm3/u15/zshow.com differ diff --git a/Source/Images/d_zpm3/u15/zsid.com b/Source/Images/d_zpm3/u15/zsid.com new file mode 100644 index 00000000..686b3775 Binary files /dev/null and b/Source/Images/d_zpm3/u15/zsid.com differ diff --git a/Source/Images/d_zpm3/u15/zxd.com b/Source/Images/d_zpm3/u15/zxd.com new file mode 100644 index 00000000..16469ed0 Binary files /dev/null and b/Source/Images/d_zpm3/u15/zxd.com differ diff --git a/Source/Images/hd0/s1/u0/ASM.COM b/Source/Images/d_zsdos/u0/ASM.COM similarity index 100% rename from Source/Images/hd0/s1/u0/ASM.COM rename to Source/Images/d_zsdos/u0/ASM.COM diff --git a/Source/Images/fd1/u0/CLOCKS.DAT b/Source/Images/d_zsdos/u0/CLOCKS.DAT similarity index 100% rename from Source/Images/fd1/u0/CLOCKS.DAT rename to Source/Images/d_zsdos/u0/CLOCKS.DAT diff --git a/Source/Images/hd0/s1/u0/CLRDIR.COM b/Source/Images/d_zsdos/u0/CLRDIR.COM similarity index 100% rename from Source/Images/hd0/s1/u0/CLRDIR.COM rename to Source/Images/d_zsdos/u0/CLRDIR.COM diff --git a/Source/Images/d_zsdos/u0/COMPARE.COM b/Source/Images/d_zsdos/u0/COMPARE.COM new file mode 100644 index 00000000..29fa41e6 Binary files /dev/null and b/Source/Images/d_zsdos/u0/COMPARE.COM differ diff --git a/Source/Images/fd1/u0/COPY.CFG b/Source/Images/d_zsdos/u0/COPY.CFG similarity index 100% rename from Source/Images/fd1/u0/COPY.CFG rename to Source/Images/d_zsdos/u0/COPY.CFG diff --git a/Source/Images/fd1/u0/COPY.COM b/Source/Images/d_zsdos/u0/COPY.COM similarity index 100% rename from Source/Images/fd1/u0/COPY.COM rename to Source/Images/d_zsdos/u0/COPY.COM diff --git a/Source/Images/fd1/u0/COPY.UPD b/Source/Images/d_zsdos/u0/COPY.UPD similarity index 100% rename from Source/Images/fd1/u0/COPY.UPD rename to Source/Images/d_zsdos/u0/COPY.UPD diff --git a/Source/Images/hd0/s1/u0/CR.COM b/Source/Images/d_zsdos/u0/CR.COM similarity index 100% rename from Source/Images/hd0/s1/u0/CR.COM rename to Source/Images/d_zsdos/u0/CR.COM diff --git a/Source/Images/fd1/u0/DATSWEEP.COM b/Source/Images/d_zsdos/u0/DATSWEEP.COM similarity index 100% rename from Source/Images/fd1/u0/DATSWEEP.COM rename to Source/Images/d_zsdos/u0/DATSWEEP.COM diff --git a/Source/Images/hd0/s1/u0/DDT.COM b/Source/Images/d_zsdos/u0/DDT.COM similarity index 100% rename from Source/Images/hd0/s1/u0/DDT.COM rename to Source/Images/d_zsdos/u0/DDT.COM diff --git a/Source/Images/hd0/s1/u0/DDTZ.COM b/Source/Images/d_zsdos/u0/DDTZ.COM similarity index 100% rename from Source/Images/hd0/s1/u0/DDTZ.COM rename to Source/Images/d_zsdos/u0/DDTZ.COM diff --git a/Source/Images/hd0/s1/u0/DDTZ.DOC b/Source/Images/d_zsdos/u0/DDTZ.DOC similarity index 100% rename from Source/Images/hd0/s1/u0/DDTZ.DOC rename to Source/Images/d_zsdos/u0/DDTZ.DOC diff --git a/Source/Images/d_zsdos/u0/DIRX.COM b/Source/Images/d_zsdos/u0/DIRX.COM new file mode 100644 index 00000000..413bceca Binary files /dev/null and b/Source/Images/d_zsdos/u0/DIRX.COM differ diff --git a/Source/Images/fd1/u0/DSCONFIG.COM b/Source/Images/d_zsdos/u0/DSCONFIG.COM similarity index 100% rename from Source/Images/fd1/u0/DSCONFIG.COM rename to Source/Images/d_zsdos/u0/DSCONFIG.COM diff --git a/Source/Images/hd0/s1/u0/DUMP.COM b/Source/Images/d_zsdos/u0/DUMP.COM similarity index 100% rename from Source/Images/hd0/s1/u0/DUMP.COM rename to Source/Images/d_zsdos/u0/DUMP.COM diff --git a/Source/Images/hd0/s1/u0/ED.COM b/Source/Images/d_zsdos/u0/ED.COM similarity index 100% rename from Source/Images/hd0/s1/u0/ED.COM rename to Source/Images/d_zsdos/u0/ED.COM diff --git a/Source/Images/fd1/u0/FA16.CFG b/Source/Images/d_zsdos/u0/FA16.CFG similarity index 100% rename from Source/Images/fd1/u0/FA16.CFG rename to Source/Images/d_zsdos/u0/FA16.CFG diff --git a/Source/Images/fd1/u0/FA16.DOC b/Source/Images/d_zsdos/u0/FA16.DOC similarity index 100% rename from Source/Images/fd1/u0/FA16.DOC rename to Source/Images/d_zsdos/u0/FA16.DOC diff --git a/Source/Images/fd1/u0/FA16A.FOR b/Source/Images/d_zsdos/u0/FA16A.FOR similarity index 100% rename from Source/Images/fd1/u0/FA16A.FOR rename to Source/Images/d_zsdos/u0/FA16A.FOR diff --git a/Source/Images/fd1/u0/FA16CFG.TXT b/Source/Images/d_zsdos/u0/FA16CFG.TXT similarity index 100% rename from Source/Images/fd1/u0/FA16CFG.TXT rename to Source/Images/d_zsdos/u0/FA16CFG.TXT diff --git a/Source/Images/hd0/s0/u0/FAT.COM b/Source/Images/d_zsdos/u0/FAT.COM similarity index 100% rename from Source/Images/hd0/s0/u0/FAT.COM rename to Source/Images/d_zsdos/u0/FAT.COM diff --git a/Source/Images/d_zsdos/u0/FDISK80.COM b/Source/Images/d_zsdos/u0/FDISK80.COM new file mode 100644 index 00000000..00ac10f7 Binary files /dev/null and b/Source/Images/d_zsdos/u0/FDISK80.COM differ diff --git a/Source/Images/fd1/u0/FILEATTR.COM b/Source/Images/d_zsdos/u0/FILEATTR.COM similarity index 100% rename from Source/Images/fd1/u0/FILEATTR.COM rename to Source/Images/d_zsdos/u0/FILEATTR.COM diff --git a/Source/Images/fd1/u0/FILEDATE.CFG b/Source/Images/d_zsdos/u0/FILEDATE.CFG similarity index 100% rename from Source/Images/fd1/u0/FILEDATE.CFG rename to Source/Images/d_zsdos/u0/FILEDATE.CFG diff --git a/Source/Images/fd1/u0/FILEDATE.COM b/Source/Images/d_zsdos/u0/FILEDATE.COM similarity index 100% rename from Source/Images/fd1/u0/FILEDATE.COM rename to Source/Images/d_zsdos/u0/FILEDATE.COM diff --git a/Source/Images/d_zsdos/u0/FLASH.COM b/Source/Images/d_zsdos/u0/FLASH.COM new file mode 100644 index 00000000..1b7fa64c Binary files /dev/null and b/Source/Images/d_zsdos/u0/FLASH.COM differ diff --git a/Source/Images/hd0/s1/u0/INITDIR.CFG b/Source/Images/d_zsdos/u0/INITDIR.CFG similarity index 100% rename from Source/Images/hd0/s1/u0/INITDIR.CFG rename to Source/Images/d_zsdos/u0/INITDIR.CFG diff --git a/Source/Images/hd0/s1/u0/INITDIR.COM b/Source/Images/d_zsdos/u0/INITDIR.COM similarity index 100% rename from Source/Images/hd0/s1/u0/INITDIR.COM rename to Source/Images/d_zsdos/u0/INITDIR.COM diff --git a/Source/Images/d_zsdos/u0/LBREXT.COM b/Source/Images/d_zsdos/u0/LBREXT.COM new file mode 100644 index 00000000..c0c950e3 Binary files /dev/null and b/Source/Images/d_zsdos/u0/LBREXT.COM differ diff --git a/Source/Images/fd1/u0/LDDS.COM b/Source/Images/d_zsdos/u0/LDDS.COM similarity index 100% rename from Source/Images/fd1/u0/LDDS.COM rename to Source/Images/d_zsdos/u0/LDDS.COM diff --git a/Source/Images/hd0/s1/u0/LDNZT.COM b/Source/Images/d_zsdos/u0/LDNZT.COM similarity index 100% rename from Source/Images/hd0/s1/u0/LDNZT.COM rename to Source/Images/d_zsdos/u0/LDNZT.COM diff --git a/Source/Images/fd1/u0/LDP2D.COM b/Source/Images/d_zsdos/u0/LDP2D.COM similarity index 100% rename from Source/Images/fd1/u0/LDP2D.COM rename to Source/Images/d_zsdos/u0/LDP2D.COM diff --git a/Source/Images/hd0/s1/u0/LIB.COM b/Source/Images/d_zsdos/u0/LIB.COM similarity index 100% rename from Source/Images/hd0/s1/u0/LIB.COM rename to Source/Images/d_zsdos/u0/LIB.COM diff --git a/Source/Images/hd0/s1/u0/LINK.COM b/Source/Images/d_zsdos/u0/LINK.COM similarity index 100% rename from Source/Images/hd0/s1/u0/LINK.COM rename to Source/Images/d_zsdos/u0/LINK.COM diff --git a/Source/Images/hd0/s1/u0/LOAD.COM b/Source/Images/d_zsdos/u0/LOAD.COM similarity index 100% rename from Source/Images/hd0/s1/u0/LOAD.COM rename to Source/Images/d_zsdos/u0/LOAD.COM diff --git a/Source/Images/hd0/s1/u0/MAC.COM b/Source/Images/d_zsdos/u0/MAC.COM similarity index 100% rename from Source/Images/hd0/s1/u0/MAC.COM rename to Source/Images/d_zsdos/u0/MAC.COM diff --git a/Source/Images/d_zsdos/u0/MBASIC.COM b/Source/Images/d_zsdos/u0/MBASIC.COM new file mode 100644 index 00000000..c9ec3cd3 Binary files /dev/null and b/Source/Images/d_zsdos/u0/MBASIC.COM differ diff --git a/Source/Images/hd0/s0/u0/NULU.COM b/Source/Images/d_zsdos/u0/NULU.COM similarity index 99% rename from Source/Images/hd0/s0/u0/NULU.COM rename to Source/Images/d_zsdos/u0/NULU.COM index 3d45098a..fc5594b1 100644 Binary files a/Source/Images/hd0/s0/u0/NULU.COM and b/Source/Images/d_zsdos/u0/NULU.COM differ diff --git a/Source/Images/hd0/s1/u0/PIP.COM b/Source/Images/d_zsdos/u0/PIP.COM similarity index 100% rename from Source/Images/hd0/s1/u0/PIP.COM rename to Source/Images/d_zsdos/u0/PIP.COM diff --git a/Source/Images/d_zsdos/u0/PMARC.COM b/Source/Images/d_zsdos/u0/PMARC.COM new file mode 100644 index 00000000..59bd3ef3 Binary files /dev/null and b/Source/Images/d_zsdos/u0/PMARC.COM differ diff --git a/Source/Images/d_zsdos/u0/PMEXT.COM b/Source/Images/d_zsdos/u0/PMEXT.COM new file mode 100644 index 00000000..d3a51ca3 Binary files /dev/null and b/Source/Images/d_zsdos/u0/PMEXT.COM differ diff --git a/Source/Images/fd1/u0/PUTBG.COM b/Source/Images/d_zsdos/u0/PUTBG.COM similarity index 100% rename from Source/Images/fd1/u0/PUTBG.COM rename to Source/Images/d_zsdos/u0/PUTBG.COM diff --git a/Source/Images/hd0/s1/u0/PUTDS.COM b/Source/Images/d_zsdos/u0/PUTDS.COM similarity index 100% rename from Source/Images/hd0/s1/u0/PUTDS.COM rename to Source/Images/d_zsdos/u0/PUTDS.COM diff --git a/Source/Images/fd1/u0/RELOG.COM b/Source/Images/d_zsdos/u0/RELOG.COM similarity index 100% rename from Source/Images/fd1/u0/RELOG.COM rename to Source/Images/d_zsdos/u0/RELOG.COM diff --git a/Source/Images/hd0/s1/u0/RMAC.COM b/Source/Images/d_zsdos/u0/RMAC.COM similarity index 100% rename from Source/Images/hd0/s1/u0/RMAC.COM rename to Source/Images/d_zsdos/u0/RMAC.COM diff --git a/Source/Images/fd1/u0/SETTERM.COM b/Source/Images/d_zsdos/u0/SETTERM.COM similarity index 100% rename from Source/Images/fd1/u0/SETTERM.COM rename to Source/Images/d_zsdos/u0/SETTERM.COM diff --git a/Source/Images/fd1/u0/SETUPZST.COM b/Source/Images/d_zsdos/u0/SETUPZST.COM similarity index 100% rename from Source/Images/fd1/u0/SETUPZST.COM rename to Source/Images/d_zsdos/u0/SETUPZST.COM diff --git a/Source/Images/hd0/s1/u0/STAMPS.DAT b/Source/Images/d_zsdos/u0/STAMPS.DAT similarity index 100% rename from Source/Images/hd0/s1/u0/STAMPS.DAT rename to Source/Images/d_zsdos/u0/STAMPS.DAT diff --git a/Source/Images/hd0/s1/u0/STAT.COM b/Source/Images/d_zsdos/u0/STAT.COM similarity index 100% rename from Source/Images/hd0/s1/u0/STAT.COM rename to Source/Images/d_zsdos/u0/STAT.COM diff --git a/Source/Images/hd0/s1/u0/SUBMIT.COM b/Source/Images/d_zsdos/u0/SUBMIT.COM similarity index 90% rename from Source/Images/hd0/s1/u0/SUBMIT.COM rename to Source/Images/d_zsdos/u0/SUBMIT.COM index 2e788827..f651bfee 100644 Binary files a/Source/Images/hd0/s1/u0/SUBMIT.COM and b/Source/Images/d_zsdos/u0/SUBMIT.COM differ diff --git a/Source/Images/hd0/s0/u0/SUPERSUB.COM b/Source/Images/d_zsdos/u0/SUPERSUB.COM similarity index 100% rename from Source/Images/hd0/s0/u0/SUPERSUB.COM rename to Source/Images/d_zsdos/u0/SUPERSUB.COM diff --git a/Source/Images/fd1/u0/TD.CFG b/Source/Images/d_zsdos/u0/TD.CFG similarity index 100% rename from Source/Images/fd1/u0/TD.CFG rename to Source/Images/d_zsdos/u0/TD.CFG diff --git a/Source/Images/fd1/u0/TD.COM b/Source/Images/d_zsdos/u0/TD.COM similarity index 100% rename from Source/Images/fd1/u0/TD.COM rename to Source/Images/d_zsdos/u0/TD.COM diff --git a/Source/Images/fd1/u0/TERMBASE.DAT b/Source/Images/d_zsdos/u0/TERMBASE.DAT similarity index 100% rename from Source/Images/fd1/u0/TERMBASE.DAT rename to Source/Images/d_zsdos/u0/TERMBASE.DAT diff --git a/Source/Images/fd1/u0/TESTCLOK.COM b/Source/Images/d_zsdos/u0/TESTCLOK.COM similarity index 100% rename from Source/Images/fd1/u0/TESTCLOK.COM rename to Source/Images/d_zsdos/u0/TESTCLOK.COM diff --git a/Source/Images/hd0/s1/u0/UNARC.COM b/Source/Images/d_zsdos/u0/UNARC.COM similarity index 100% rename from Source/Images/hd0/s1/u0/UNARC.COM rename to Source/Images/d_zsdos/u0/UNARC.COM diff --git a/Source/Images/hd0/s1/u0/UNCR.COM b/Source/Images/d_zsdos/u0/UNCR.COM similarity index 100% rename from Source/Images/hd0/s1/u0/UNCR.COM rename to Source/Images/d_zsdos/u0/UNCR.COM diff --git a/Source/Images/hd0/s1/u0/UNZIP.COM b/Source/Images/d_zsdos/u0/UNZIP.COM similarity index 100% rename from Source/Images/hd0/s1/u0/UNZIP.COM rename to Source/Images/d_zsdos/u0/UNZIP.COM diff --git a/Source/Images/hd0/s1/u0/XSUB.COM b/Source/Images/d_zsdos/u0/XSUB.COM similarity index 100% rename from Source/Images/hd0/s1/u0/XSUB.COM rename to Source/Images/d_zsdos/u0/XSUB.COM diff --git a/Source/Images/hd0/s1/u0/ZAP.COM b/Source/Images/d_zsdos/u0/ZAP.COM similarity index 100% rename from Source/Images/hd0/s1/u0/ZAP.COM rename to Source/Images/d_zsdos/u0/ZAP.COM diff --git a/Source/Images/fd1/u0/ZCAL.COM b/Source/Images/d_zsdos/u0/ZCAL.COM similarity index 100% rename from Source/Images/fd1/u0/ZCAL.COM rename to Source/Images/d_zsdos/u0/ZCAL.COM diff --git a/Source/Images/hd0/s1/u0/ZCNFG.COM b/Source/Images/d_zsdos/u0/ZCNFG.COM similarity index 100% rename from Source/Images/hd0/s1/u0/ZCNFG.COM rename to Source/Images/d_zsdos/u0/ZCNFG.COM diff --git a/Source/Images/hd0/s1/u0/ZCNFG24.CFG b/Source/Images/d_zsdos/u0/ZCNFG24.CFG similarity index 100% rename from Source/Images/hd0/s1/u0/ZCNFG24.CFG rename to Source/Images/d_zsdos/u0/ZCNFG24.CFG diff --git a/Source/Images/fd0/u0/ZDE40.COM b/Source/Images/d_zsdos/u0/ZDE.COM similarity index 99% rename from Source/Images/fd0/u0/ZDE40.COM rename to Source/Images/d_zsdos/u0/ZDE.COM index 6a2d37de..9bc493c3 100644 Binary files a/Source/Images/fd0/u0/ZDE40.COM and b/Source/Images/d_zsdos/u0/ZDE.COM differ diff --git a/Source/Images/hd0/s1/u0/ZDENST.COM b/Source/Images/d_zsdos/u0/ZDENST.COM similarity index 100% rename from Source/Images/hd0/s1/u0/ZDENST.COM rename to Source/Images/d_zsdos/u0/ZDENST.COM diff --git a/Source/Images/hd0/s1/u0/ZPATH.COM b/Source/Images/d_zsdos/u0/ZPATH.COM similarity index 100% rename from Source/Images/hd0/s1/u0/ZPATH.COM rename to Source/Images/d_zsdos/u0/ZPATH.COM diff --git a/Source/Images/hd0/s1/u0/ZSCONFIG.COM b/Source/Images/d_zsdos/u0/ZSCONFIG.COM similarity index 100% rename from Source/Images/hd0/s1/u0/ZSCONFIG.COM rename to Source/Images/d_zsdos/u0/ZSCONFIG.COM diff --git a/Source/Images/d_zsdos/u0/ZSID.COM b/Source/Images/d_zsdos/u0/ZSID.COM new file mode 100644 index 00000000..686b3775 Binary files /dev/null and b/Source/Images/d_zsdos/u0/ZSID.COM differ diff --git a/Source/Images/fd1/u0/ZSVSTAMP.COM b/Source/Images/d_zsdos/u0/ZSVSTAMP.COM similarity index 100% rename from Source/Images/fd1/u0/ZSVSTAMP.COM rename to Source/Images/d_zsdos/u0/ZSVSTAMP.COM diff --git a/Source/Images/fd1/u0/ZSVSTAMP.DOC b/Source/Images/d_zsdos/u0/ZSVSTAMP.DOC similarity index 100% rename from Source/Images/fd1/u0/ZSVSTAMP.DOC rename to Source/Images/d_zsdos/u0/ZSVSTAMP.DOC diff --git a/Source/Images/hd0/s1/u0/ZXD.CFG b/Source/Images/d_zsdos/u0/ZXD.CFG similarity index 100% rename from Source/Images/hd0/s1/u0/ZXD.CFG rename to Source/Images/d_zsdos/u0/ZXD.CFG diff --git a/Source/Images/fd1/u0/ZXD.COM b/Source/Images/d_zsdos/u0/ZXD.COM similarity index 100% rename from Source/Images/fd1/u0/ZXD.COM rename to Source/Images/d_zsdos/u0/ZXD.COM diff --git a/Source/Images/d_zsdos/u1/SAMPKEY.DOC b/Source/Images/d_zsdos/u1/SAMPKEY.DOC new file mode 100644 index 00000000..911c4a11 --- /dev/null +++ b/Source/Images/d_zsdos/u1/SAMPKEY.DOC @@ -0,0 +1,134 @@ +SAMPKEY.DOC: +Sample Macros for ZDE, 01 June 90 by Carson Wilson. + +This file describes the sample macros contained in SAMPKEY.ZDK +and SAMPKEY.ZDT. As distributed, ZDE contains no Macro Key +definitions. I have included the SAMPKEY.* files both to give +you an idea of the versatility available through ZDE's macro +capability and to provide you with some useful choresaving +routines. Many of the sample Macros come directly from the ZDE +Manual, and illustrate the use of conditional testing, jumps, and +control key entry from within Macros. In addition to being +educational, most of these "sample" Macros do useful work. While +you may (and should) define ZDE's Macros to do anything you wish +(or nothing, if you wish), I think you may find one or more of +these samples useful just as they are. + +To install the macros in SAMPKEY.ZDK (or any .ZDK file) into your +copy of ZDE, just type "ZDENSTAL ZDE SAMPKEY.ZDK." Then exit +ZDENSTAL with the ave option. This produces a working copy of +ZDE.COM with Macro Keys 0 to 9 as defined in the .ZDK file. + +To alter or replace the Macros in SAMPKEY.ZDK, first edit the +text file SAMPKEY.ZDT with ZDE. Then translate SAMPKEY.ZDT into +a new macro file with the command "ZDKCOM SAMPKEY.ZDT." You can +also translate .ZDK files back into .ZDT files if you wish; see +ZDKCOM.DOC for more information. + +The following briefly describes each of the Macros in the SAMPKEY +files: + + +MACRO 0 - SWAP CHARACTERS. + + Macro Text: + q^S^S^G^D^U^U^D^G + + Purpose: + Swaps the character behind the cursor with the previous + character. Useful for catching typos. + + +MACRO 1 - SOFTEN PARAGRAPH. + + Macro Text: + q^QS^X^[=^M]^S^V ^V^D^[![ + + Purpose: + "Softens" Hard Carriage Returns from the line the cursor + is on to the end of the paragraph. This allows + reformatting with ^B of files from other word + processors. + + +MACRO 2 - MOVE TO START OF SENTENCE. + + Macro Text: + q^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2 + + Purpose: + Moves the cursor to the beginning of the sentance the + cursor is currently on. + + +MACRO 3 - MOVE TO START OF PARAGRAPH. + + Macro Text: + q^QS^S^S^[= [^D^D + + Purpose: + Moves the cursor to the beginning of the paragraph the + cursor is currently on. + + +MACRO 4 - REFORM AND RETURN. + + Macro Text: + q^B^QP + + Purpose: + Reformat beginning with the line the cursor is on and + return cursor to current location. Useful when + revising text in the middle of a paragraph. + + +MACRO 5 - BROWSE FILE. + + Macro Text: + n^[;^C^[![ + + Purpose: + Move through file a screen at a time. Press ESC to + stop. + + +MACRO 6 - DELETE WORD LEFT. + + Macro Text: + n^A^T + + Purpose: + Erases the word to the left of the cursor. + + +MACRO 7 - UNDERLINE WORD RIGHT. + + Macro Text: + n^V^PS^F^PS + + Purpose: + Brackets the word to the right of the cursor with the + control code ^S, causing the word to be underlined when + printed (NOTE: printer must be installed). + + +MACRO 8 - SWAP LINES. + + Macro Text: + q^QS^KB^S^X^KK^S^E^E^KV + + Purpose: + Swaps the current line with the previous line, moving + the cursor with it. Can be used to move a single line + up any distance within your file. + + +MACRO 9 - HELP MESSAGE. + + Macro Text: n^QE^QS^N^N0=SwCh 1=Soft 2=SentBg 3=ParaBg + 4=Reform 5=Browse 6=DelLft 7=Undl 8=SwLn 9=Hlp + ^[;^[;^[;^Y^Y^QP + + Purpose: + Briefly displays help message at top of screen. + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/SAMPKEY.ZDK b/Source/Images/d_zsdos/u1/SAMPKEY.ZDK new file mode 100644 index 00000000..9bb5971f Binary files /dev/null and b/Source/Images/d_zsdos/u1/SAMPKEY.ZDK differ diff --git a/Source/Images/d_zsdos/u1/SAMPKEY.ZDT b/Source/Images/d_zsdos/u1/SAMPKEY.ZDT new file mode 100644 index 00000000..d41b3db3 --- /dev/null +++ b/Source/Images/d_zsdos/u1/SAMPKEY.ZDT @@ -0,0 +1,11 @@ +q^S^S^G^D^U^U^D^G +q^QS^X^[=^M]^S^V ^V^D^[![ +q^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2 +q^QS^S^S^[= [^D^D +q^B^QP +n^[;^C^[![ +n^A^T +n^V^PS^F^PS +q^QS^KB^S^X^KK^S^E^E^KV +n^QE^QS^N^N0=SwCh 1=Soft 2=SentBg 3=ParaBg 4=Reform 5=Browse 6=DelLft 7=Undl 8=SwLn 9=Hlp ^[;^[;^[;^Y^Y^QP + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDE10.DOC b/Source/Images/d_zsdos/u1/ZDE10.DOC new file mode 100644 index 00000000..83ce8cc9 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDE10.DOC @@ -0,0 +1,1049 @@ +..You must print this file in "W" mode with page length set to 54 +..(the default) so that page numbers correspond with the Table of +..Contents and the Index. Use the "L" option for a left margin +..("L8" centers standard pitch on 8.5" wide paper), and the "" +..option to number pages. + + ZDE + + Z-System Display Editor + + Version 1.0 10 Mar 89 + + ZDE and its documentation are copyright 1989 by Carson Wilson, + all rights reserved. They may not be circulated in any + incomplete or modified form without written permission of the + author. Any commercial use of ZDE, defined as any situation + where the duplicator receives revenue by duplicating or + distributing ZDE by itself or in conjunction with any hardware + or software product, is expressly prohibited unless authorized + in writing by Carson Wilson. + + +1. Introduction. + + ZDE, the Z-System Display Editor, is a small, fast, powerful +text editor based Eric Meyer's famous Video Display Editor (VDE). +ZDE retains all features of VDE, but removes defects and supports +special ZCPR and ZSDOS features such as named directories, +register variables, automatic disk relog, and file datestamp +support. The install program has also been improved (see +ZDE10.NEW for a complete rundown of improvements). At the same +time, I have tried to be conscientious about the balance between +features and memory usage. If I added every new feature or +convenience that came to mind, we would soon have a luxurious +in-memory editor for 2 kilobyte files! Much of the following is +adapted with permission from Eric Meyer's VDE.DOC. + + ZDE's native ASCII mode and definable macros make it an ideal +programmer's editor; its full formatting and printing features +also make it an efficient word processor. Written entirely in Z80 +assembler, ZDE is F-A-S-T. There are no disk overlays, and all +editing is done in memory. As a result, finding a string near the +end of a 50K file takes WordStar 3.3 about 14 seconds (8MHz Z80); +ZDE does it in under a second. This is like moving through air +instead of molasses: you will find that you can do more of your +work on screen, and less on paper. + +Among ZDE's features are: + +Full-screen editing User area and named directory support +Block operations Wordwrap and reformat +File datestamp support Macro programs +Disk file operations Margins, tabs, spacing +Find and replace WordStar compatibility +Many print features Undeletion +Configurable options Support for all CP/M terminals + + +2. Installing ZDE. + + ZDE works with Z80 CP/M 2.2 and 3.0 and compatible systems. +It is ideal for portable computers with limited disk space. There +are many user configurable options, and ZDE can be installed for +all CP/M terminals. If you are running ZCPR, ZSDOS or Z3PLUS, ZDE +offers features not available with less advanced system software, +but these system enhancements are not required. + + To install ZDE, use the ZDENSTAL configuration program; see +the accompanying file ZDENSTAL.DOC. You should install ZDE for +your computer's terminal at the earliest convenience, since this +greatly enhances performance. There are many other installable +options; you will discover how you want everything set in the +course of using ZDE, so don't worry about going through all of it +at first. For ease of reference, portions of this manual +referring to installable options and settings are enclosed in +square brackets ("[" and "]"). + + +3. Invoking ZDE. + + ZDE is invoked from your system's command prompt using the +following syntax ("ufn" means "unambiguous file name"): + + ZDE Begin working on a new file. + + ZDE ufn Edit a new or already existing file. + + ZDE dir:ufn Edit a new or existing file from another + directory. + + ZDE ufn m Edit a file using mode "m." + ZDE ufn[m + +"m" above can be either W, A, or N (see File Modes, below), and +"dir" can be either a drive, a user area, a drive followed by a +user area, or a ZCPR named directory. For example: + + ZDE A4:MYFILE.TXT N Begin working on MYFILE.TXT at user + area 4, drive A, in non-document + mode. + + The size of the file to be edited is limited by available +memory. This will vary for different systems, but normally the +maximum size will be between 45 and 55k. If a file is too large +to edit, you must break it up and edit the pieces separately. +Numerous CP/M utilities are available which will break up and +rejoin ASCII files. + + +4. ZDE's Command Set. + + ZDE's commands consist of simple one- or two-key +combinations, easily found by the touch typist without +distraction. Most commands are the same as WordStar's. If you +have questions that this file can't answer, a WordStar manual may +be a useful reference. But ZDE is not a WordStar "clone"; there +are significant differences, including an extended set of +ESC-commands for functions such as macros (see below). + Virtually complete compatibility with the WordStar command +(sub)set can be achieved UNLESS the keys ^J, ^K, and ^L are used +as arrow keys (as on many CP/M computers). In this event ZDE +synonyms must be used: ESC- for the ^K- prefix; ESC-H for ^J; and +^\ for ^L (see ZDENSTAL.DOC for terminal installation). + +4.1. Command Summary. + + Below, the "^" character indicates use of the Ctrl key: ^K = +Ctrl+K. The ESC (^K), ^O, and ^Q prefixes require pressing two +keys in sequence: ^O C, for instance means press ^O, then C (or +^C). Any prefix may be canceled by typing ESC or Space. + +4.1.1. Control Keys: Single Keystroke Commands. + + ^J (ESC H) = display Help menus. + + CR = Carriage return (^M). Marks a paragraph end. + BS = Backspace (^H). + TAB = Hard Tab mode: insert tab (^I). Variable Tab mode: move + to next stop. + + Arrow keys: WordStar: ^E up, ^X down, ^S left, ^D right. + Alternate: configurable, default ^K, ^J, ^H, ^L. + + ^F = move to start of next word right. + ^A = move to start of next word left. + ^R = scroll back one screen. + ^C = scroll forward one screen. + ^W = scroll back one line. + ^Z = scroll forward one line. + + ^G = delete character to the right of the cursor. + DEL = delete character to the left (configurable). + ^U = undelete a character. + ^T = delete word to right of cursor. + ^Y = delete current line. + + ^N = insert a carriage return (break line) at present + position. + ^V = toggle INSERT mode on and off. + ^^ = toggle case (upper/lower) of character at cursor. + ^P = insert following control code in text. + ^B = reformat current paragraph. + ^L (^\) = repeat find/replace (repeats last ^QF or ^QA + command). + +4.1.2. File and Block Commands: first hit ^K (or ESC), then the + key shown. + + ^K I = display file/memory Information message. + + ^K F = List files in disk directory. + ^K E = Erase a disk file. + + ^K L = Load a brand new file to begin editing. + ^K N = change the current file Name (affects Save, eXit). + ^K S = Save the current file to disk, and continue editing. + ^K D = Done. Save the file, then load a new one. + ^K X = eXit: Save the file, then Quit to CP/M. + ^K Q = Quit to CP/M, abandoning current file. + + ^K R = Read a disk file into text at cursor position. + ^K P = Print the text (whole file or block). + + ^K B = mark the start of a Block. + ^K K = mark the end of a block. + ^K U = Unmark the block. + ^K Y = Delete the marked block. + ^K C = Copy the block text at present cursor position. + ^K V = moVe the block text to the present cursor position. + ^K W = Write the marked block to a disk file. + +4.1.3. Escape and Macro Commands: first hit ESC, then the key + shown. + + ESC arrows: Left/Right (including ^S/D) = shift screen + horizontally + by 32 columns. + Up/Down (including ^E/X) = shift screen + vertically + by 1/4 screen. + ESC TAB = move back to last tab stop. + + ESC M = execute a Macro string of commands. + ESC # = store macro on numeric key for later recall. + ESC 0..9 = use stored key. (In macro mode: jump label.) + ESC !,=,~,+ = used in Macro programming (see below). + ESC ; = brief pause, during Macro execution only. + +4.1.4. Quick Commands: first hit ^Q, then the key shown. + + ^Q Arrows: Left/Right (including ^S/D) = go to start or end + of line. + Up/Down (including ^E/X) = go to top or bottom + of screen. + ^Q R = move to top of file. + ^Q C = move to end of file. + ^Q I = move to specified page or line number. + ^Q B = move to marked block. + ^Q Q = move to next line in queue (ZCPR only). + ^Q Z = move to next place marker. + + ^Q F = find next occurrence of a string. + ^Q A = find and replace a string. + + ^Q Y = delete from cursor to end of current line. + ^Q DEL = delete from cursor to beginning of current line. + ^Q T = delete until specified character (caution--powerful!). + ^Q U = undelete a line. + +4.1.5. Onscreen Commands: first hit ^O, then the key shown. + + ^O Arrow: Up (including ^E) = make current line top of + screen. + + ^O R = set right margin (column 1 turns off + wordwrap/formatting). + ^O L = set left margin. + ^O X = toggle Margin Release on/off. + ^O C = center current line. + ^O F = align current line flush with the right margin. + + ^O Q = toggle header on/off. + ^O T = toggle ruler line on/off. + ^O D = toggle display of hard CRs on/off. + + ^O A = toggle Auto Indent on/off. + ^O S = toggle Double Spacing on/off. + ^O H = toggle hyphenation on/off. + ^O V = toggle tab mode Hard/Variable. + ^O I = set variable tab stop. + ^O N = clear variable tab stop. + + ^O P = set page length (0 turns off pagination). + ^O W = toggle windowing on/off (see below). + ^O Z = temporarily blank the entire screen. + + +5. Command Descriptions. + +5.1. Auto-Indent Mode (^O-A). + + Auto-Indent is useful for typing outlines, structured program +source code, and other text where the "left margin" varies. +Auto-Indent causes the RETURN key to act differently: If you are +entering new text, it will be indented to match the previous line. +If you are just moving through the file, the cursor advances past +any existing indentation. + +5.2. Block Commands (^K-B, -K, -U, -R, -Y, -W, -C, -V, -P-B, + ^Q-B). + + A "block" of text is normally delimited by two markers +[default: ^@] which remain in memory until reset or deleted. + ^K-B marks the beginning of the block; ^K-K marks its end. +Markers are inserted in the text. The two markers are identical; +the first one present is the start. + ^K-U unmarks the block, removing any marker(s) set (block +markers can also be deleted individually as ordinary characters). +Markers are automatically removed as appropriate when ^K-B/-K are +used again. + ^K-R reads in the contents of a disk file, inserting it as a +block after the current cursor position. You will be asked for +the name (and, optionally, mode) of the file. Other block +operation commands all require a Block to be marked: + ^K-Y deletes the block (including markers). + ^K-W writes the block text to a disk file; you will be asked +for the filename (and optional mode). + ^K-V moves the Block text to the present cursor location, +deleting the original; ^K-C copies it and leaves the original. +Sometimes ZDE will run out of memory when moving blocks within a +large file. If this occurs, just write the block to a file, +delete it, and read it back in as: "^K-W, ^K-Y, ^K-R". + ^K-P-B (^K-P with B option) prints the block text only. + The ^Q-B command, from wherever you are in the file, moves +the cursor to the Block start. + +5.3. Cursor Movement (Arrow keys; ^F; ^A; ^Q-R, -C, -I). + + ZDE supports three sets of Arrow keys, which function +interchangeably. The two built-in sets support the WordStar +"arrow key diamond" ^E, ^X, ^D, ^S, and the ANSI standard 3-byte +sequences (ESC-[-A, etc.). The third set is user-configurable, +and must be installed with ZDENSTAL. These keys move the cursor +up, down, right, and left respectively. Note: if you install ^J, +^K, and ^L as arrow keys, you must use ESC- commands for help, +file operations, and repeat find/replace, respectively. + Preceded by ^Q-, any arrow key (except ANSI) moves more +quickly: to the top or bottom of the screen, to the left or right +end of the line. + There are also two word movement commands: ^F moves right, to +the start of the next word; ^A moves left, to the start of the +previous (or current) word. Both have maximum ranges of 255 +characters. + For quickly covering large distances, the commands ^Q-R and +^Q-C go all the way to the beginning and end of the file, +respectively, and ^Q-I goes to any specified page (or line, in +non-documents). + +5.4. Deleting (^G, DEL, ^T, ^Y, ^Q-Y, -DEL, -T). + + You can delete text one CHARACTER at a time: ^G deletes to +the right of the cursor, and DEL to the left. [If you have no DEL +key, you can install another equivalent.] Note that the ordinary +BS (^H) does not normally delete. + ^T deletes an entire WORD to the right (up to 255 characters) + ^Y deletes the entire current LINE. ^Q-Y deletes only the +part of the line to the right of the cursor; ^Q-DEL deletes the +part to the left. + ^Q-T deletes UP TO a specified character. Example: "^Q-T." +deletes to the end of the sentence. Special case: "^Q-T-CR" +deletes to the next HARD CR, the end of the paragraph. This is a +powerful command, so use it with caution. + Accidentally deleted text can usually be recovered (see +Undelete, below). + +5.5. Disk Operations (^K-F, -E). + + ^K-F gives an unsorted list of disk FILES: hit CR to list the +directory specified by the current file, or specify a drive, user, +or named directory (colon optional). If there is not enough room +to fit all the files on the screen, you will see "..." at the end +to indicate that there were still more. Press ESC or Space to +continue. + ^K-E will ERASE a single disk file to provide more room on +the disk (no wildcards allowed). + +5.6. File Commands (^K-N, -S, -X, -Q, -D, -L). + + ^K-N NAMES your work or changes the current file mode. You +can change the filename in the header before saving, and/or change +its mode to WordStar, ASCII, or Nondocument. To set the file +mode, introduce the mode character with the left square bracket, +e.g., "Name: MYFILE.WS [W". + ^K-S SAVES your work: what's in memory is written to disk +under the file name in the header (you must have a file name; one +will be requested if necessary). If that file already existed, a +backup (.BAK) file may be preserved [configurable; see +installation guide]. If you haven't changed the file, ZDE prompts +you to confirm that you want to resave it anyway. + There are several different commands for finishing up: + ^K-X saves your work and then EXITS to CP/M. + ^K-Q just QUITS. If the file has been modified, ZDE asks if +you want to abandon the changes. + ^K-D (DONE) saves your work, then loads a new file to edit. + ^K-L quits the current file and LOADS a new one to begin +editing. + +5.7. Find, Replace (^Q-F, -A, ^L, ^\). + + ^Q-F is the command to FIND a string. The search normally +proceeds from the cursor position forward, and is case +(upper/lower) insensitive. There are two options: "B" = search +backwards; "C" = case sensitive search. If used, the options +must be enclosed in slashes (eg, "/bc/") before the search string. +(If you want to search for a string beginning with a slash, use an +empty (//) option first.) In addition, a ^P-Z [this can be +reconfigured] functions as a wildcard matching any single +character. Other control codes, like ^M for newline, can be +included (with the ^P prefix where needed). Examples: + + Find: /c/^MLABEL matches "LABEL" at start of line only; + Find: 4^Z^Z01 matches "42201", "47401", etc; + Find: wordstar matches "WORDSTAR", "WordStar" etc; + Find: ///88 matches "/88"; + Find: /b/esc looks backwards for "Esc", "esc", etc. + + ^Q-A is the FIND/REPLACE command. It asks for a string to +find, and what to change it to (all options above apply to the +search string only). The cursor will be placed on each occurrence +of the string successively, starting at the cursor location. You +will see the prompt "Chg?" in the header. To replace the old +string with the new one, press "Y"; anything else skips to the +next. To change all further occurrences without being asked, +press "*". ESC cancels at any time. (Note: if ^Q-A is used in a +Macro, it will automatically assume "*" with no further input +required.) + ^L (or ^\, if ^L is an arrow key) repeats the last ^Q-F or +^Q-A command. For ^Q-A, you will be asked whether you want to +replace the found string. For both, direction and case options +remain unchanged. + +5.8. Header (^O-Q). + + ZDE normally gives you a header, or status line, at the top +of the screen. However, if you like you can toggle the header +display on and off with the ^O-Q (QUIET) command. [The header may +also be suppressed by default.] This lets you see more file text. +It can also speed up operation on some slower terminals, as the +position doesn't have to be continually updated. + + A typical header line looks something like: +------------------------------------------------------------------ +B0/WORK:ZDE.DOC [A Pg 8 Ln 31 Cl 53 INS vt hy AI DS MR ^Q_ +------------------------------------------------------------------ + "B0/WORK:ZDE.DOC [A" = Current directory, filename, and mode. + "Pg 8, etc" = Current position in file by page, line, column. +For "N"ondocuments, there is no page number display. If +pagination (^O-P) is off, you will see "Pg 0" (document) or "OP" +(nondocument) here. + "INS" = Insert mode on (^V). + "vt" = Variable tabs on (^O-V). + "hy" = Hyphenation enabled. (^O-H) Doesn't display in "N" + mode. + "AI" = Auto indent mode on (^O-A). + "DS" = Double spacing (^O-S). + "MR" = Margins released (^O-X). Doesn't display in "N" mode. + "^Q_": Prefix keys (and some prompts) display here. + +5.9. Information (^K-I). + + ^KI displays an Information message with: + + - the ZDE version and date; + - whether (Y/N) the file has been changed since last saved; + - the current size of the file in bytes; + - the number of bytes of text memory used and free (1024 + bytes = 1K). + + You will note that the file uses about 20-25% less memory +than its actual length; this is due to ZDE's compression of text. +(Note: ZDE is limited to 16-bit arithmetic. In the unlikely event +that file size should exceed 64K it will be shown mod 64K; just +add 65536.) + Block moves and copying are limited by the amount of free +memory. Further, when there is less than 1K free, response time +can get very slow. + +5.10. Insert Mode (^V). + + ^V toggles insertion on and off. If insert is OFF, any text +to the right of the cursor is overwritten as you type. If insert +is ON, what you type is inserted, and existing text moves to the +right. + +5.11. Line Spacing (^O-S). + + The ^O-S command toggles between single and double line +spacing. In double space mode, the following functions generate +double carriage returns: CR (^M), Insert CR (^N), Reform (^B), +Wordwrap. You can easily mix single and double spacing; the ^B +command can convert between the two. Note: if you prefer to keep +your actual file single spaced, you can still get a double-spaced +printout by using the "D" option of the ^K-P command (see +Printing). + +5.12. Margins (^O-R, -L, -X, -C, -F). + + ^O-R sets the RIGHT margin, enabling wordwrap, reformatting, +and centering. A right margin of 1 disables all formatting +functions (same as in "N"ondocument mode). At the prompt +"Column:" enter the column number (1-255), or just hit CR for the +current cursor column. If the value entered conflicts with the +current left margin, ZDE sets the left margin to 1. + ^O-L sets the LEFT margin in an identical fashion; of course, +the value must always be less than the current right margin, +meaning it's best to set the right margin first. + ^O-X temporarily RELEASES the margins (resets them to 1), +allowing you to type outside them. Use ^O-X again to restore the +margins. + ^O-C CENTERS the current line with respect to the margins, if +set. ^O-F sets the current line FLUSH right, if the right margin +is set. + +5.13. Pagination (^O-P). + + The ^O-P command sets the page length. Enter a value from 0 +to 255, or just hit CR to restore the default value [normally 54]. + When the value is nonzero, it determines the page and line +shown in the document header ("Pg xx Ln xx"), and page-oriented +Print functions (formfeeds, headers, start/stop print) are enabled. + When the value is zero, pagination is off. The header will +say "Pg 0 Ln xxxx", showing you the absolute line number in the +file. Also, printing occurs with no page breaks or formfeeds. +This can be useful for printing small things right after each +other on the same sheet; or, in conjunction with the "*" print +option, can be used to print out multiple copies of index cards, +labels, etc. + ZDE never sends a formfeed before printing; begin your file +with a ^P-L character if you need one. Otherwise, use of ^P-L is +not recommended in document files as it renders ZDE's page count +inaccurate. + +5.14. Place Markers and Line Queue (^P-Z, ^Q-Z, ^Q-Q). + + You can set any number of temporary PLACE MARKERS in the text +with ^P-Z (they will appear as ^Z). The ^Q-Z command moves the +cursor to the next place marker in the file, cycling back to the +top of the file if needed. Place markers are NOT saved to disk. + ZCPR users may also store a QUEUE of up to eight line numbers +in their user-defined messages (a set of sixteen bytes of +protected memory "available for user definition"). The ^Q-Q +command will then cycle through the queue of line numbers, +returning to the first location when it reaches a value of zero. +A value greater than the number of lines in the file takes the +cursor to the end of the file. The numbers are stored as two-byte +inverted hexadecimal words. This facility is intended as an +interface between other programs and ZDE for such purposes as +storing the locations of compiler errors, however ZCPR users may +also find it useful to POKE these locations directly before +invoking ZDE. + +5.15. Printer Codes (^P). + + Control codes for special effects in printing can be entered +in the text with the ^P prefix. Thus pressing ^P-^H (or ^P-H) +embeds a ^H, etc. Several standard codes are: + + ^H - backspace - overstrike previous character + ^I - hard (ASCII) tab - printers respond variously to this + ^L - formfeed (Not recommended unless pagination (^O-P) + disabled) + + The Block marker, normally ^@, cannot be embedded, and ^Z is +reserved for use as a place marker. Control codes display on +screen as capital letters, highlighted if possible. ZDE assumes +they are not characters, so they are not counted when reformatting +text. + For greater convenience, you can also arrange to have a +single ^P-code produce an entire string of bytes for commonly used +printing effects. ZDE supports a subset of WordStar's printer +installation, seven definable codes: four toggles, four switches. +The Printer Installation in ZDENSTAL allows you to choose what +codes you want to use, and install the actual control sequences +your printer needs. The defaults are: + + toggles: ^B, ^D, ^S, ^Y + switches: ^Q, ^W, ^E, ^R + + In WordStar these toggles are Boldface, Doublestrike, +Underline, and Ribbon/Italic respectively, but you can make them +anything you like. "Toggles" are good for features like underline +and bold that are turned on and off. "Switches" are better for +multivalued parameters like character pitch. + Example: your printer uses ESC-U-01 (and 00) to turn +underlining on (and off). If you install these codes with +ZDENSTAL: + ^S toggle on: (03)1B5501 + ...and off: (03)1B5500 + +then all you have to type in ZDE to get underlined text is: +^PSunderlined text^PS. + +5.16. Printing (^K-P). + + The ^K-P command PRINTS all or part of the file in memory. +You will be asked for a set of "Options:", at which point you may +enter zero or more of the following, in any order: + + B prints only the currently marked BLOCK. + P PAUSES for your keystroke before each page (sheet + feed). + D DOUBLE SPACES all text to be printed. + Lnn sets the printer LEFT MARGIN to nn columns [the + default value can be set with ZDENSTAL]. + ^ FILTERS control characters ^X to text "^X". + *nn prints the job out nn TIMES (nn=1..255). + @nn begins printing AT the nn'th page. + =nn renumbers the pages beginning with nn. + #nn prints only (up to) a TOTAL of nn pages. + "..." uses the quoted string as a HEADER. The string, + followed immediately by the page number, will print + at the top right of each page near the margin (maxi- + mum length is 50 characters; an empty string, "", + gives numbered pages with no header text.) + +The last four options (@,=,#,"") are NOT allowed if pagination is +disabled (^O-P), or if "B"lock print was chosen. Examples: + +Options: L12P + - Print the file with a left margin of 12 columns, pausing + before each page for you to press a key (other than Esc). + +Options: @6#2=14"Instructions, page " + - Print the sixth and seventh pages of the file, but numbered + 14 and 15, with the header shown. + +Options: BD^*2 + - Print out the current marked Block twice, double spaced, + with control filtering. + + In "W" mode, lines beginning with a "." will be regarded as +WordStar dot commands, and will neither print out nor affect the +page count (they have no other effect either). + You can abort printing at any time with ESC (this may take a +moment, or a few keystrokes, depending on your BIOS). + +5.17. Ruler Line (^O-T). + + To help you align text properly, ^O-T toggles display of a +"ruler line" above the text on and off. + In each column you will see one of several symbols: "[]" +designate the current margins (if set); "-" indicates areas within +the current margins, "." outside them. Also, tab stops are marked +by either "T" (Variable) or "I" (Hard). Examples: + +("A" mode) [-----T-----T-----------T--------------]........ +("N" mode) I.......I.......I.......I.......I.......I....... + +5.18. Tabs (^I, ESC-TAB, ^O-V, ^O-I, ^O-N). + + There are two Tab modes: Variable and Hard, and the ^O-V +command toggles between them. In Hard Tab mode the Tab key +produces an actual ^I (ASCII 09); whether this overwrites any +existing text depends on the Insert toggle. Hard Tabs display by +default at fixed intervals of 8 screen columns [this is +configurable to any multiple of 2]. + In Variable Tab mode, the Tab key moves the cursor to the +next variable tab stop (you can always get a Hard Tab by typing +^P-I). If Insert is on, spaces are inserted up to the next tab +stop. Otherwise, existing text is skipped over, but spaces are +still added at the end of a line as needed. Up to eight tab stops +may be set with ^O-I and cleared with ^O-N; the defaults are in +columns 6, 11, 16, and 21 [these are configurable]. At the +prompt, enter the column number desired, or hit RETURN for the +cursor column. + The ^O-I command also accepts two multiple-set inputs: "@nn" +sets tab stops every "nn" columns, while "#n1,n2,..." sets tabs at +columns "n1,n2, ...". Both remove any pre-existing tabs, and +typing "@" or "#" alone simply clears all tabs. + The ESC-TAB command moves backward (left) to the previous +variable or hard tab stop. + +5.19. Undelete (^U, ^Q-U). + + The undelete functions may be used (repeatedly if necessary) +to recover a reasonable amount of text deleted either by +overtyping, or with any of ZDE's delete commands, IF the cursor +has not yet been moved away. ^U undeletes one character; ^Q-U +does a whole line. + Restrictions: undelete may not recover all of a Block delete +unless the cursor was in or near the block deleted, and it may +work imperfectly if DEL has been used several times in sequence. + Further use after all deleted text is recovered will produce +junk (usually duplicates of text above the cursor, which is +sometimes useful). + +5.20. Upper/Lower Case (^^). + + The ^^ (ctl-caret) command changes the case of the character +at the cursor, if it was a letter, and moves the cursor one +character to the right. Useful for capitalizing a string of +lowercase text, or vice versa. + +5.21. Window and Screen (^W, ^Z, ESC-Arrows, ^O-Up, -W, -Z). + + ZDE supports several functions to move and alter the display +screen. + The ^W and ^Z commands scroll the screen up and down a line +at a time, without moving the cursor (unless necessary). + Preceded by ESC, any arrow (except ANSI) moves the screen +rather than the cursor: the text as a whole shifts up/down 1/4 +screen, or right/left 32 columns, while the cursor stays put (the +cursor must be past column 32 for horizontal shifts to work). + Preceded by ^O-, any UP arrow key (except ANSI) makes the +current text line the top of the screen. + The ^O-W command creates a WINDOW in the bottom half of the +screen, which retains a copy of the file text starting at the +current line, plus the current status and/or ruler line(s), if +any. Editing continues normally in the top half of the screen. +This is useful for comparing different sections of text within a +file, or even between different files. Typing ^O-W again removes +the Window. Note: Windowing is only supported for screens of 15 +or more lines. + The ^O-Z command temporarily zaps (blanks) the entire screen; +good for avoiding CRT burn-in, or just protecting work from prying +eyes or fingers. Restore the screen by pressing ESC or SPACE. +Note: if Windowing was in effect, any text in the window will be +lost. + +5.22. Wordwrap, Reformat (^B, ^O-D). + + WORDWRAP is automatic in Document ("W" or "A") modes whenever +the right margin is set. Any text entered will be formatted to +the current margin settings as you type. The end of a paragraph +is marked by a "HARD CR", which occurs when you press the RETURN +key (this is a CR immediately following a character of text). In +contrast, when wordwrap occurs you get a "SOFT CR" (which is +actually a CR with a space before it). You can change a hard CR +into a soft one, or vice versa, by deleting or adding a space at +the end of the line. Hitting RETURN also hardens a soft CR. The +distinction between hard and soft CRs is only important when +reformatting. + ^B REFORMATS from the line the cursor is on, to the end of +the paragraph, according to the current margin settings and line +spacing. ^B may be used not only to reshape a paragraph after +editing, but also to change its margins and line spacing. +Indentation can be tricky if you have a left margin set. If the +current line is indented relative to the next one, ZDE assumes +that amount as your paragraph indentation. + ^O-D toggles DISPLAY OF HARD CRs. Hard CRs, otherwise +invisible, can be caused to display as a "<" character. This can +be useful; some may find it distracting, so it turns off. + + +6. Macros. + +6.1. Macro (ESC-M). + + A MACRO is a string of ZDE commands and text that, once +defined, can be repeated automatically. When you type ESC-M you +will be asked for the string, then a "Repeat count". Usually you +will simply type a number for the repeat count (0-9, or "*" for +"indefinitely"). You will see the results as the macro executes, +and you can abort it at any time by pressing ESC. If you are sure +you know what you're doing, you can speed up Macro execution by +specifying "Quiet" mode: press "Q" before the repeat count. Only +the header, if present, will be updated as the Macro runs. + Macros also stop any time an error occurs; the error message +will be visible, and can be cleared by pressing ESC. Many +commands (like Find or Reformat) are designed to generate errors +at the end of the file so that indefinite ("*") Macros containing +them halt there. You may need to abort other indefinite Macros +manually. + ZDE turns INSERT OFF before running a macro, so that the same +key sequence will always have the same effect. INSERT status is +restored when the macro terminates. + In order to include any input line editing characters (BS, +CR, etc.) in a macro, you must prefix them with ^P. (NOTE: To +make them easier to read and understand, Macro listings are given +here as they function, not as they are typed in. ^P prefixes as +needed are NOT shown. Keystrokes are separated by dashes or +commas for clarity, and "_" means a space or blank.) Here are some +sample Macros: + + 1. View a file by scrolling slowly through it: + + ESC-;, ^C + + This will pause, then scroll down. (Use a repeat count + of "*".) + + 2. Can you figure out what this one does? + + ^QR, ^QF, (, CR, ^G, ^KB, ^QF, ), CR, ^G, ^KK, ^QC, CR, ^KV + + (Answer: .elif eht fo dne eht ta meht fo tsil a gnikam + elif a fo tuo sesehtnerap ni stnemmoc ekat lliw tI) + + ZDE Macros are very powerful tools, particularly given their +programmability and storage on function keys. + +6.2. Macro Key (ESC-#, ESC-0..9). + + Up to 10 MACRO KEYS can be stored (0..9), by entering them +with the ESC-M command, then using ESC-# to save them. They can +then be recalled and used simply by typing ESC-number. Example: +typing ESC-#-0 will store the last Macro used in the ESC-0 command +so that it can be recalled and reused at any future time simply by +typing ESC-0. + Ordinarily, Macro Keys operate just like the original Macro, +asking for a "Repeat count" when executed. If you want to +suppress this prompt (resulting in a "function key" that executes +just once) you can type "N" (for No repeat) before storing the key +number. Example: ESC-#-N-0 makes ESC-0 a no-repeat macro key. +If you also don't need to see the Macro work, and want to make it +faster, you can make it QUIET as well by typing "Q" instead (for +Quiet) before the key number. Example: ESC-#-Q-0 stores ESC-0 as +a quiet no-repeat key sequence. + If the Macro (ESC-M) string is empty, using ESC-# will delete +a Macro Key. Using a defined Key makes it the last macro used, so +it can be stored again in another key if desired. Trying to use +an undefined Macro Key results in an error. + There are 500 bytes total available for all 10 keys, and a +128 byte limit for any one Key (ZDE's own input line will only +accept 65 bytes, but ZDENSTAL can handle up to the full 128.) + USAGE HINT: If you want to re-use a macro without having to +type it in again, use ESC-# to assign it to a key, then call it up +by number. + Besides simply storing Macros, here are some useful Macro +Keys: + + 1. Storing different sets of margins (e.g., for quotes). + For example, + ^OL, 12, CR, ^OR, 66, CR + + 2. Typing any frequently repeated phrase; "ESC-6" is much + more convenient than "^PSWorld Wide Widgets Ltd. (N.A.)^PS". + + 3. Swap the two characters preceding the cursor: + ^S, ^S, ^G, ^D, ^U, ^U, ^D, ^G + +[ZDENSTAL allows you to install defaults for all ten Macro Keys. +Thus a copy of ZDE can be customized for any task, such as the +formatting requirements of specialized writing or programming +languages.] + +6.3. Macro Programming (ESC-0..9, ESC-!,=,~,+,;). + + ZDE has several commands which function only in a Macro +string, and give you control over the execution of a macro, +allowing true programming. + ESC-0..9 function as LABELS 0..9 when entered as part of a +Macro. They have no effect, but can be "jumped" to by other +commands. + ESC-! followed by 0..9 is a JUMP instruction, and causes +macro execution to resume with the command following the label +ESC-0..9. Example: ESC!2 jumps to label 2. As two special cases, +ESC-![ jumps to the beginning of the Macro, and ESC-!] jumps to +the end (aborts). + ESC-= and ESC-~, followed by a character and then a label +0..9 (or "[","]"), are CONDITIONAL JUMPS: they jump to the label +or the start or end of the macro IF the character at the cursor +position matches (ESC-=) or doesn't match (ESC-~) the character +specified. Example: ESC~^M2 jumps to ESC-2 if the current +character is NOT a CR. + ESC-= and ESC-~, followed by a character and then ">" or "<", +are SEARCH LOOPS. They will continue to move the cursor right +(">") or left ("<") AS LONG AS the character at the cursor matches +(ESC-=) or doesn't match (ESC-~) the specified character. Both +search loops terminate automatically at the beginning or end of +the file. Example: ESC=_> moves right as long as the current +character is a space. + ESC-+, followed by 0..9, CHAINS to another macro key, +allowing you to build macros strings longer than the storage limit +of any one key. It does not "call" the key; there is no +returning. Example: ESC+9 chains to Key 9. + ESC-; (semicolon) gives a brief pause, presumably so the user +can see what's happening on screen. + Macro programs are stored just like any other macro string +(usually with "N"o repeat count). If you program in an endless +loop, you will at some point have to abort with ESC. Don't make +macro programs "Q"uiet until you're sure they work. + Example: here is a good macro program (best stored as a Quiet +Key) to move the cursor to the start of the current sentence: + + ESC~.1, ^S, ESC1, ESC~.<, ESC2, ^D, ESC=_2, ESC=^M2 + +You could write this out in programmer's pseudo-code as: + + If not "." goto label1 + Move left ;move left if already on period +label1: While not "." move Left ;move left to previous period +label2: Move right ;now move back right + If " " goto label2 ; as long as you see a space + If "^M" goto label2 ; or a Return + (all done) + + +7. General Information. + +7.1. Disk Space. + + ZDE isn't disk-bound; if you run out of disk space, just +insert another disk (always keep a blank FORMATTED disk around). +Alternatively, you can use the ESC-F and ESC-E commands to purge +unneeded files. [If you have small disks, you can also install +ZDE not to preserve BAK files.] + Let ZDE's filesize limits encourage you to break work up into +files of 50K or less; larger files make inefficient use of floppy +disks. + +7.2. Error Messages. + + Press ESC or Space to continue. "Error" alone means the +command used just won't work in this situation. (Example: a block +command was used with no block marked.) More specific errors are: + + "Out of Memory" - the file, block, or key string won't fit in + RAM. + "Invalid Key" - an illegal command key sequence was pressed. + "I/O Error" - file not found, disk full, empty/invalid + drive, etc. +"Cannot Reformat" - word too long, or margins invalid. + "Not Found" - the object of a search was not found. + "Syntax Error" - a macro programming command was misused. + +7.3. File Modes. + + ZDE has three FILE MODES: "W"ordStar document, "A"SCII +document, and "N"on-document. The basic difference concerns the +format of disk files. + In "W" mode, ZDE reads and writes WordStar-compatible files. +ZDE can edit a WordStar document, except that any right +justification will be lost. WordStar can edit any ZDE "W" file in +Document mode. + In "A" or "N" mode, ZDE reads and writes text as standard +ASCII 7-bit characters, a universal format accepted by virtually +all software. The only difference between "A" and "N" modes lies +in the default settings on loading a new file. Typically "A" mode +is used for word processing, and "N" mode for programming and +other technical applications. + +DEFAULTS FOR: Margins Tabs Hard CR disp. +------------ ------- ---- ------------ +"A"SCII or "W"ordStar mode ACTIVE VARIABLE [ON] +"N"on-document DISABLED HARD OFF + + The file mode option can be specified along with the filename +at any ZDE file function prompt, allowing you to mix WordStar and +ASCII disk files as needed (see Invoking ZDE, above). You can +also change the current mode with the ^K-N function by entering a +new mode (e.g., "[W") with or without a filename. + [ZDENSTAL allows you to select a default file mode, to be +used when no mode is specified (originally this is "A"). Further, +you can specify two filetype masks for automatic mode selection +(e.g., all "ASM" files as "N" mode) to override that default.] + NOTE ON ASCII FILES - The "A"SCII-document file format used +since VDE 2.50, to allow accurate formatting and WordStar +compatibility, distinguishes between HARD and SOFT CRs (see +Wordwrap, above). Consequently, if you edit an ASCII file created +by other software (including earlier versions of VDE), it may +appear to be full of hard CRs, making text impossible to reformat. +There are two easy ways to solve this problem: first, you can use +^Q-A to find "^M"s and selectively replace them with " ^M". +Alternatively, the following Macro (best stored as a Quiet macro +Key) does a good job of "softening up" paragraphs for reformatting: + + ^QS,^X,ESC=_],ESC=CR],^S,^V_^V,^D,ESC![ + +7.4. Hyphenation (^O-H). + + ZDE can't introduce hyphens, but it does recognize them in +the text, treating them as a legitimate place to break a line, so +if you have a long word close to the margin, you can insert a +hyphen where you'd like the word to be broken. + Similarly, ZDE can't unhyphenate. If it is trying to +reformat and finds a hyphen at the end of a line, it will pause to +ask you what to do with it. You will see the prompt "Chg?" in the +header, and can: + Press "Y" to remove the hyphen and space, joining the word; + "N" to leave the hyphen, but still join the word; + "ESC" to leave both the hyphen and the space alone. +Typically you would choose "Y" for "soft" hyphens that you +introduced to break up a word ("intro-duction"); "N" for hard +hyphens that are part of a word ("vis-a-vis"); and "ESC" for +punctuation (dashes "--", etc.). After your choice, reformatting +will proceed automatically. + You can toggle hyphenation on and off with ^O-H. If off, +hyphens are not treated differently from any other text character. +[The ^O-H default can be changed with ZDENSTAL.] + +7.5. Interruption. + + If ZDE is interrupted by messages from other software (BIOS +error, resident utilities, etc.), it may lose control of the +screen. The best way to return it to normal is by blanking and +restoring the screen (^O-Z, ESC). + +7.6. Prompts. + + First, ZDE has several simple prompts requiring you to +confirm an action by typing "Y" or "N": + + "Abandon changes?" - warns the file you want to Quit has + been changed. +"Unchanged; save anyway?" - reminds the file you want saved isn't + changed. + "Delete original?" - do you want to delete block copied + from 2nd file? + "Chg?" - do you want to change this instance of + a string? + +Then, there are a few special purpose prompts: + + "Repeat count:" - enter (optional "Q" and) repeat count + for Macro. + "Key number:" - enter (optional "N/Q" and) key number + for Key. + "Rdy" - press any key to print next page (ESC + quits). + +Finally, there are a variety of prompts for either numeric or +string input, like "Column:" or "Find string:". You are expected +to type in a string (up to 65 characters). The following control +keys operate: + + Correct mistake: BS (^H), ^S, or Del + Erase entire entry: ^X + Abort operation: ^U + +Note that to get any of these codes, or a CR, into the string +itself, you must precede it with ^P (this includes ^P). Examples: +to find a line beginning with a "*" (find "^M,*") type + + ^Q-F, ^P-CR, *, CR. + +Now to get this into a Macro with ESC-M, you would have to type + + ESC-M, ^Q-F, ^P-P, ^P-CR, *, ^P-CR, CR. + +7.7. WordStar Compatibility. + + In most respects ZDE operates much like WordStar; one big +difference is the absence of a "No-File" menu. You are always in +edit mode; use ^K-L to select a new file to edit. + If the keys ^J, ^K, ^L are in use as CP/M arrow keys, you +must use ZDE's original command set to substitute for them as +follows: + + Block prefix (^K-)... ESC- + Help menu (^J)....... ESC-H + Repeat find (^L)..... ^\ + + If these keys are NOT installed as arrow keys, they retain +their WordStar functions. Then, of course, ZDE lacks some +WordStar commands, and has some of its own. Aside from these, +there are the following differences in common commands: + +COMMON USE WORDSTAR 4 ZDE ZDE NOTES +Hide block ^K-H ^K-U Actually unmarks block. +Erase disk file ^K-J ^K-E +Set Place Mark ^K-0..9 ^P-Z Not individually numbered. +Go to Place Mark ^Q-0..9 ^Q-P Cyclic. + +COMMON COMMAND WORDSTAR 4 USE ZDE USE + ^^ Soften hard CR Transpose upper/lowercase + ^K-N Column block mode Rename current work + ^O-D Display ^P codes Display hard CRs + ^O-F Ruler from text Flush right + ^O-P Preview mode Page length + ^Q-U Repeat align Repeat undelete + +Note that ZDE does not implement WordStar "dot commands" in text, +though in "W" mode it avoids printing them. + + +8. Disclaimer. + + You use ZDE at your own risk. The author accepts no +liability for any damages resulting from its use or misuse. +Direct problem reports and suggestions to the author; include a +stamped return envelope for a reply if desired. Thanks to the +many users of ZDE whose feedback has led to improvements and bug +fixes in the past. + + Carson Wilson Sysop: Antelope Freeway RAS + 1359 W. Greenleaf 312-764-5162, Chicago + Chicago, IL 60626 24 hours, 3-12-2400 baud + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDE10.FOR b/Source/Images/d_zsdos/u1/ZDE10.FOR new file mode 100644 index 00000000..79b4dd02 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDE10.FOR @@ -0,0 +1,7 @@ +Z-System Display Editor is Eric Meyer's famous VDE improved and +enhanced for Z-System. ZCPR named directory and line queue +capabilities, preserves file datestamps and runs faster under ZSDOS, +improved install program and documentation, and key compiler +included. Over twenty flaws in VDE 2.66 corrected. Also runs under +vanilla CP/M 2.2 and CP/M Plus. + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDE10.NEW b/Source/Images/d_zsdos/u1/ZDE10.NEW new file mode 100644 index 00000000..4c568f0d --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDE10.NEW @@ -0,0 +1,304 @@ + New in ZDE + + Z-System Display Editor + + Version 1.0 10 Mar 89 + + ZDE and its documentation are copyright 1989 by Carson Wilson, + all rights reserved. They may not be circulated in any + incomplete or modified form without written permission of the + author. Any commercial use of ZDE, defined as any situation + where the duplicator receives revenue by duplicating or + distributing ZDE by itself or in conjunction with any hardware + or software product, is expressly prohibited unless authorized + in writing by Carson Wilson. + + + CONTENTS + + 1. Functional Enhancments. + 1.1. File Datestamp Capability. + 1.2. Named Directory Capability. + 1.3. Line Queue Capability. + 1.4. Other Enhancements. + 2. Bugs Fixed. + 3. ZDENSTAL. + 4. Notes to DosDisk Users. + 5. Planned Enhancements. + 6. Development History. + + +1. Functional Enhancments. + +1.1. File Datestamp Capability. + + Under ZSDOS, the Create date and time of files edited with +ZDE are maintained across editions. If .BAK files are being +created, the create dates of new files will be the same as their +.BAK files. Note that if a file with the name of a block being +saved with ^KW or ESC-W already exists, the saved block will have +the same Create stamp as the (previously) existing file. I hope +to address this side-effect in future versions by prompting before +erasing existing files during ^KW commands. + +1.2. Named Directory Capability. + + ZDE will now accept ZCPR named directories when loading, +renaming, and erasing files, and when requesting a directory +listing with the ^KF command. The named directory (if available) +is also displayed as part of the current file name in the status +line. + Since ZCPR directory names can occupy up to eight columns on +the status line, it was necessary to move the rest of the status +line over by eight columns. I was able to gain an extra column by +putting only one space between the filetype and the "[x" +specifier, but the result is that if your terminal displays less +than 55 columns the current column number will not be visible in +your status line. + This is unfortunate, but the status line is already about as +compressed as possible. To include all of the information I would +have to add a second status line for narrow terminals, which would +add a good deal of code and complexity to what is already a +complicated program. Since most CP/M terminals (including my own) +have 80 columns, I have decided in favor of the majority in this +instance. + You may also notice that the ^QA prompt "Chg? (Y/N/*)" has +been shortened to "Chg?" and the "Wait..." message is now "Wait". +These changes were also necessary because of the decrease in +available space on the status line. + +1.3. Line Queue Capability. + + A third functional enhancment is the new ^QQ command, which +causes ZDE to skip to line numbers stored in ZCPR's user-defined +message bytes. Under ZCPR3, up to eight line or page numbers may +be passed to ZDE. The original idea was to use the interface to +produce a Turbo Pascal-like integrated environment for program +development, but the interface is certainly not limited to +programmers. + The numbers are stored in ZCPR's 16 user-defined message +bytes, and ZDE treats these bytes as a packed array of up to eight +elements. ^QQ causes ZDE to cycle through the array, going to the +stored locations sequentially until the end of the array or a zero +element is reached, at which point ZDE returns to the first stored +location. + The numbers are stored as inverted 2-byte hex words (LSB +first), so for example to store the lines 12, 44, and 108 a +program would set the 16 user-defined bytes as follows: + + 0C 00 2C 00 6C 00 00 00 00 00 00 00 00 00 00 00 + +In this example, when ZDE reaches the fourth word (00 00) it +returns to the start of the array and goes to line 12 (0C 00). + Any ZCPR program, or even an alias (using Jay Sage's powerful +ARUNZ parameters) can now give ZDE the locations of up to eight +line numbers of interest. With a little imagination we could +probably create an integrated text search/edit environment which +searches multiple files for a string and points ZDE to the exact +location of each match for editing. Thanks to Cameron Cotrill and +Al Grabauskas for suggesting this feature. + +1.4. Other Enhancements. + + In response to a suggestion by Phil Newman, ZDE now properly +accepts and displays user areas between 16 and 31. While I do not +normally suggest storing files in these areas because many CP/M +programs do not handle them properly, they are useful occasionally +on very large disks or for security purposes, and are supported by +ZCPR and ZSDOS, so I have included them in ZDE. + For NewWord compatibility, I have changed the "To Mark" +command from ^QP to ^QZ. This is also better mnemonically, since +the "place mark" command is ^PZ. + The search and replace functions now match upper or lower +case by default. To search for an exact match by case, you must +enter "/c/" or "/C/" (for Case) before the search string. The +"/i/" option is no longer active. I have changed default +find/replace wildcard character to ^Z so that ZDE can find strings +with literal '_' characters. Use the ^QZ command to find a +literal ^Z. + ^KB, ^KK, ^KU and ^QY no longer cause unnecessary redisplays. + For faster operation, ZDE no longer resets drives under ZSDOS +(same as CP/M Plus). + Under ZSDOS and CP/M Plus, ZDE sets the error mode to 0FEh. +All BDOS errors are displayed on the screen, but ZDE retains +control. + For your protection, ZSDOS Path and Public files are Read +Only under ZDE. That is, you can access files via Path or Public +but you cannot erase Path or Public files. If you get a ZSDOS +"File W/P" error when saving data with the ^KS, ^KD, ^KX, or ^KW +commands or when erasing a file with ^KE, you may have given the +name of a ZSDOS Path or Public file. Try again with a new name. + + +2. Bugs Fixed. + + If just a drive letter in given during the ^KF (display +files) command, files in the current user area are displayed +rather than files in user area 0 (thanks to Ben Cohen). + ZDE no longer crashes if no name is given in response to the +^KW prompt (thanks to Eric Meyer for finding this one). + ^KB and ^KK now behave properly when entered at the rightmost +column of the screen. + The "Chg?" prompt is now properly erased in all circumstances. + Full disk errors caused CP/M Plus and ZSDOS systems to report +the wrong amount of free space. This has been corrected by +closing the output file after full disk errors (thanks to Howard +Goldstein for this idea). + File read-only errors no longer set the drive byte to "^@" +under CP/M 2.2 (thanks again to Phil Newman for finding this one). + Backwards replace now finds the first occurrence of the +string before the cursor even if the cursor is only one character +to the right of the string. If the string is replaced, the cursor +now returns to the START of the new string instead of one after it +as before (this may change the effects of some ZDE key macros). + Ben Cohen noticed that VDE's left margin (Lnn) print option +sometimes failed to indent the first line. This has been fixed. +ZDE also prints the header text at the same location no matter +what left margin is used, rather than indenting the header and +causing it to wrap to the next line. Print option verification is +also much more rigorous now than in previous versions. + ^KS, ^KD, and ^KX file name requests now abort with a +carriage return as well as ^U, and ^U now returns you to ZDE in +response to the ^KX filename request. + The bug fix published in VDE266.FIX has been incorporated. + Several ZDE bugs affecting use with DosDisk have been +eliminated (see below for bugs IN DosDisk 1.00, however). + Tabs displayed in the last column of the last row no longer +cause the screen to scroll. + Virtual screen displays no longer show garbage at the end of +the line if the cursor is at the left side of the screen, and +moving to the left edge of the screen with ^A no longer causes +redisplay. + ^A now moves to the first character on line 2 before jumping +to line 1 when line 1 is empty. + ^PZ now causes a horizontal scroll if it moves the cursor +beyond the right edge of the screen. + Block and place markers no longer set file status to +"Changed." + The cursor no longer jumps around when moving left from +columns after 254. The cursor now stops at column 254 instead of +255, and the status line says "Col 255" for any column past 254. +Text past column 254 CAN actually be edited, but it will not be +displayed by ZDE. + Strings can now be found with ^QA even if they are the very +last item in the file (credit goes to Cameron W. Cotrill for +finding this one). + "^OI@" now removes all soft tab stops "as advertised" in +VDE266.DOC instead of setting them all to 1, making it possible to +set new tabs after entering "^OI@". "^OI#" has the same effect. + ^^ now sets file status to "Changed" when converting from +lower-to-upper case as well as upper-to-lower. + "Wait..." message now disappears after disk operations with +ruler on and status line off. VDE266 forgot to erase the message +in this situation. + Backwards find and replace operations now work properly +instead of repeating the prompt indefinitely when the replace +string is shorter than the find string (thanks to Ben Cohen for +pointing this out). + VDE restored INSert to its entry status just BEFORE the final +byte of the macro, resulting in irregular behavior and sometimes +causing macro elements to appear after the "INS" indicator in the +status line. ZDE waits until the entire macro has executed before +restoring entry status. Due to ZDE's code structure, the INS +status line indicator does not change during macro execution. + ZDE restores INSert to entry status when macros abort due to +errors (e.g., "[[[ Not Found ]]]"). + + +3. ZDENSTAL. + + Included in this library is ZDENSTAL.COM, the new install +program for ZDE. ZDENSTAL it is very similar to VINST in +operation, but adds the feature of displaying the actual print +toggles and switches at all prompts, rather than the default ones. +So if you change the first default print toggle character to ^K +for example, all other prompts referring to that toggle now +reflect the change. + Files for use with ZDENSTAL must have the type ".ZDE" (option +installation), ".ZDP" (printer installation), or ".ZDK" (macro +keys), but are otherwise compatible with files used to install VDE +2.66. With Fred Haines' permission, I have adapted his wonderful +VDKCOM.COM utility for use with ZDE, and renamed it (what else?) +ZDKCOM.COM (see ZDKCOM.DOC). + ZDENSTAL also corrects the bug which prevented VINST from +loading installation files whose archive bits were set. + + +4. Notes to DosDisk Users. + +DosDisk users are advised of a bug in DosDisk 1.00 which appeared +during the development of ZDE. Calling Reset 13 while DosDisk is +active can cause DosDisk to think other active drives are all +drive A:. Bridger Mitchell, author of DosDisk, is aware of this +bug and is working on a fix. In the meantime, users of CP/M 2.2 +and ZRDOS who wish to edit files on MS-DOS disks should NOT log +into the MS-DOS drive while editing with ZDE, as this causes ZDE +to do a Reset 13 when writing to the MS-DOS drive. To edit files +on the MS-DOS drive, run ZDE from drive A: or another non-MS-DOS +drive. + +Users of ZSDOS and CP/M Plus need not worry about this problem +with ZDE, as ZDE never resets disks under ZSDOS or CP/M Plus. By +the same token, however, ZSDOS and CP/M Plus users must not change +disks in the MS-DOS drive from within ZDE, because DosDisk (like +CP/M 2.2) requires a disk reset or warm boot when disks are +changed (see DosDisk manual, p. 7). + + +5. Planned Enhancements. + + If time permits, future versions of ZDE may contain the +following enhancements: + An improved ZDENSTAL which directly accepts ASCII files for +key definitions, along the lines of ZDKCOM. + Bridger Mitchell has suggested command "bindings" which would +allow any control key or meta key sequence to be linked to any ZDE +command. This idea will be familiar to users of Perfect Writer. +Key bindings would allow ZDE to simulate EMACS, for example. + Bruce Morgen and others have suggested automatic terminal +installation under ZCPR, allowing the same copy of ZDE to be used +with any terminal. + Allow more than two default filetypes available and fixed +disks. + It may be possible to preserve file create datestamps under +CP/M Plus and Z3PLUS. + + +6. Development History. + +1984: VDE began as Eric Meyer's set of improvements on the tiny + (4k) "VDO" memory- mapped editor by Fritz Schneider (1982), + as adapted by George Peace (1984) for the Osborne Executive. + +1985: The first terminal adaptation, VDE-PX for the Epson PX-8. + Ongoing improvements also in parallel Osborne versions + VDE-OS. + +1986: The unified VDE(M) version 2.00, with generic terminal + installation. Versions 2.1-2.3 added new features + including macros; global replace; tighter compression; many + Print options; file directory; undelete. + +1987: 2.4 (1/87): Improved scrolling and screen functions; more + screen sizes supported; WordStar file mode; + place markers; ^OZ; block print; larger macro + keys; VINSTALL terminal menu. + + 2.5 (3/87): User area support; variable tabs; double + spacing; search wildcards; more standard block + functions; improved format- ting; many + additions to VINSTALL. + + 2.6 (7/87): Greater WordStar compatibility; many new + functions; more free RAM; faster scrolling; + search options; keyboard buffer. + +1988: Development through v2.64, with new functions; top margin; + doublespaced printing; auto mode filetypes. + + 2.65 (4/88): Auto indent; tab set enhancements; small fixes. + + 2.66 (6/88): Printer left margin; small fixes. + +1989: First version of ZDE. + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDE10.QRF b/Source/Images/d_zsdos/u1/ZDE10.QRF new file mode 100644 index 00000000..3256a079 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDE10.QRF @@ -0,0 +1,55 @@ + QUICK REFERENCE FOR ZDE 1.0 +------- [Note: the ^K- and ESC- prefixes are nearly interchangeable.] -------- + + + CURSOR AND SCREEN: + + = ^E = ^D ^Q, start, end of line + = ^X = ^S or ^H ^Q, top, end of screen + [Note: An alternate arrow key set can also be installed.] + + ^F word right ^QR to top of file ^QB to block start + ^A word left ^QC to end of file ^QZ to place marker + ^R page back ^QI to page/line no. ^QQ to queue line + ^C page forward + ^W scroll back line ESC, shift up, down 1/4 screen + ^Z scroll down line ESC, shift right, left 32 cols + ^O make current line top + + DELETING: MISCELLANY: FIND and REPLACE: + + ^G delete char right ^V INSERT on/off ^QF find string + DEL delete char left ^N insert a CR ^QA find and replace + ^T delete word right TAB Tab or move to stop /B/ackwards + ^Y delete line ^^ upper/lower case /C/ase-specific + ^QY del to end of ln ^KI information message /// quote "/" +^Q-DEL " to beg of ln ^PZ set place marker ^Z = wildcard +^QT_ del to character ^OD HCR display on/off ^L [^\] repeat last + ^U UNdelete char ^OQ header on/off find/repl + ^QU UNdelete line ^OW make window + ^OZ blank screen + + DISK FILES: BLOCKS: PRINTING: + + ^KN change filename ^KB block start ^KP print text + ^KL load new file ^KK block end (Options: P,B,T,L, + ^KR read in disk file ^KU unmark block ^,"",*nn,@nn,#nn) + ^KF show disk files ^KC copy block ^OP set page length + ^KE erase disk file ^KV move block ^P- insert ^-code: + ^KS save work, continue ^KY delete block B,D,S,Y toggles + ^KD save, load new file ^KW write block to disk Q,W,E,R switches + ^KX save and exit + ^KQ quit without save + + FORMATTING: + + ^OR,L set rt, lf margins ^OI,N tab set, clear ^B reform text + ^OX margin release ^OV tabs variable/fixed ^OT ruler line + ^OC center line ^OA auto indent mode + ^OF flush line right ^OS double spacing + + MACROS: + + ESC-M define macro ESC-# store macro key ESC-!,=,~,+ + ESC-; wait (pause) ESC-0..9 use key macro programming + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDE10.TOC b/Source/Images/d_zsdos/u1/ZDE10.TOC new file mode 100644 index 00000000..3b54a99c --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDE10.TOC @@ -0,0 +1,67 @@ +..Print in Wordstar mode, using the "L8" option for normal pitch +..printers and 8.5" paper. + + ZZZZZZZZ DDDDDDD EEEEEEEE + ZZ DD DD EE + ZZ DD DD EE + ZZ DD DD EEEEEE + ZZ DD DD EE + ZZ DD DD EE + ZZZZZZZZ DDDDDDD EEEEEEEE + + Z-System Display Editor + + + Table of Contents + +1. Introduction. . . . . . . . . . . . . . . . . . . . . . 1 +2. Installing ZDE. . . . . . . . . . . . . . . . . . . . . 2 +3. Invoking ZDE. . . . . . . . . . . . . . . . . . . . . . 2 +4. ZDE's Command Set. . . . . . . . . . . . . . . . . . . 2 +4.1. Command Summary. . . . . . . . . . . . . . . . . . . 3 +4.1.1. Control Keys: . . . . . . . . . . . . . . . . . . . 3 +4.1.2. File and Block Commands: . . . . . . . . . . . . . 3 +4.1.3. Escape and Macro Commands . . . . . . . . . . . . . 4 +4.1.4. Quick Commands . . . . . . . . . . . . . . . . . . 4 +5. Command Descriptions. . . . . . . . . . . . . . . . . . 5 +5.1. Auto-Indent Mode (^O-A). . . . . . . . . . . . . . . 5 +5.2. Block Commands . . . . . . . . . . . . . . . . . . . 5 +5.3. Cursor Movement . . . . . . . . . . . . . . . . . . . 6 +5.4. Deleting . . . . . . . . . . . . . . . . . . . . . . 6 +5.5. Disk Operations . . . . . . . . . . . . . . . . . . . 7 +5.6. File Commands . . . . . . . . . . . . . . . . . . . . 7 +5.7. Find, Replace . . . . . . . . . . . . . . . . . . . . 7 +5.8. Header . . . . . . . . . . . . . . . . . . . . . . . 8 +5.9. Information . . . . . . . . . . . . . . . . . . . . . 8 +5.10. Insert Mode . . . . . . . . . . . . . . . . . . . . 9 +5.11. Line Spacing . . . . . . . . . . . . . . . . . . . . 9 +5.12. Margins . . . . . . . . . . . . . . . . . . . . . . 9 +5.13. Pagination . . . . . . . . . . . . . . . . . . . . . 9 +5.14. Place Markers and Line Queue . . . . . . . . . . . . 10 +5.15. Printer Codes . . . . . . . . . . . . . . . . . . . 10 +5.16. Printing . . . . . . . . . . . . . . . . . . . . . . 11 +5.17. Ruler Line . . . . . . . . . . . . . . . . . . . . . 12 +5.18. Tabs . . . . . . . . . . . . . . . . . . . . . . . . 12 +5.19. Undelete . . . . . . . . . . . . . . . . . . . . . . 12 +5.20. Upper/Lower Case . . . . . . . . . . . . . . . . . . 13 +5.21. Window and Screen . . . . . . . . . . . . . . . . . 13 +5.22. Wordwrap, Reformat . . . . . . . . . . . . . . . . . 13 +6. Macros. . . . . . . . . . . . . . . . . . . . . . . . . 14 +6.1. Macro . . . . . . . . . . . . . . . . . . . . . . . . 14 +6.2. Macro Key . . . . . . . . . . . . . . . . . . . . . . 15 +6.3. Macro Programming . . . . . . . . . . . . . . . . . . 15 + + + + + +7. General Information. . . . . . . . . . . . . . . . . . 16 +7.1. Disk Space. . . . . . . . . . . . . . . . . . . . . . 16 +7.2. Error Messages. . . . . . . . . . . . . . . . . . . . 17 +7.3. File Modes. . . . . . . . . . . . . . . . . . . . . . 17 +7.4. Hyphenation . . . . . . . . . . . . . . . . . . . . . 18 +7.5. Interruption. . . . . . . . . . . . . . . . . . . . . 18 +7.6. Prompts. . . . . . . . . . . . . . . . . . . . . . . 18 +7.7. WordStar Compatibility. . . . . . . . . . . . . . . . 19 +8. Disclaimer. . . . . . . . . . . . . . . . . . . . . . . 20 + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDE13.FOR b/Source/Images/d_zsdos/u1/ZDE13.FOR new file mode 100644 index 00000000..7b0f2694 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDE13.FOR @@ -0,0 +1,8 @@ +Update to Z System Display Editor, a small, fast editor for assembly +language and light word processing. Z System required for optimal +performance; also works with CP/M 2.2 and CP/M Plus. This version +adds hardware video handling, auto-return to file position under +ZCPR, WordStar-like ruler line, cursor on/off, and generally +F-A-S-T-E-R performance. Ten little bugs also fixed. See ZDE10.LBR +for full documentation. 26 Aug 89 by Carson Wilson. + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDE13.NEW b/Source/Images/d_zsdos/u1/ZDE13.NEW new file mode 100644 index 00000000..1e8517a1 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDE13.NEW @@ -0,0 +1,241 @@ + + New in ZDE + + Z-System Display Editor + + Version 1.3 26 Aug 89 + + + ZDE and its documentation adapted with permission from Eric + Meyer's VDE version 2.66, and are now copyright 1989 by Carson + Wilson, all rights reserved. They may not be circulated in any + incomplete or modified form without the written permission of + Carson Wilson. Any commercial use of ZDE, defined as any + situation where the duplicator receives revenue by duplicating + or distributing ZDE by itself or in conjunction with any + hardware or software product, is expressly prohibited unless + authorized in writing by Carson Wilson. + + + This file describes changes to ZDE since version 1.0. I have + decided not to release a revision of the documents while ZDE is + still in active development. For now, please obtain ZDE10.DOC + and ZDENSTAL.DOC from ZDE10.LBR, available on Antelope Freeway + and many other remote CP/M systems. Except for the changes + detailed below, these files provide a thorough explanation of + how to use and install ZDE. Alternatively, send a contribution + of $6 or more to support further work on ZDE, and I will mail + you a high quality printed manual. See section 4 of this file + for details. + + + - CONTENTS - + + 1. FUNCTIONAL ENHANCMENTS. + 1.1. Hardware Codes for Faster Scrolling. + 1.2. ZCPR Auto-Return to Previous Position. + 1.3. WordStar-like Ruler line. + 1.4. ZCPR-like Option Lead-in Character. + 1.5. Cursor Dance Eliminated. + 1.6. Other Minor Enhancments. + 2. BUGS FIXED. + 3. INSTALLATION. + 4. FOR MORE INFORMATION. + + +1. FUNCTIONAL ENHANCEMENTS. + + 1.1. Hardware Codes for Faster Scrolling. + +ZDE now uses "hardware" video scrolling in its delete line (^Y) +command, if your terminal has a delete line capability (see +ZDENSTAL's Terminal Installation). If hardware insert line is +available, hardware scrolling is also implemented in the insert +line (^N) command when used at the beginning of a line. For most +terminals these are considerably faster than repainting all or +part of the screen, especially if more than one line is being +inserted or deleted. + +On many ASCII terminals a pause is needed after giving a hardware +scroll string so that the screen can catch up with the keyboard. +As distributed the same value of 38 hex is used for both +horizontal and vertical scrolls. To determine the optimal setting +for your terminal, load a large text file and execute "scroll up" +or "scroll down" (^W or ^Z) continuously. If your terminal beeps +at you or if garbage characters appear you probably need to +install a larger "Horizontal & vertical scroll delay" value with +ZDENSTAL. + + 1.2. ZCPR Auto-Return to Previous Position. + +ZDE now loads ZCPR's user-defined message bytes 0 and 1 (if +available) with the absolute line number of your position in a +file on exit. This allows you to exit to ZCPR, perform some other +commands, then return to the same line in your file using the ^QQ +command. You can also use this feature to jump to the equivalent +line in another file. Since the line number is absolute, it does +not vary with page length or file mode settings. + + 1.3. WordStar-like Ruler line. + +New in this version is the appearance of ZDE's ASCII/WordStar mode +ruler line. As with WordStar and NewWord, the left margin is now +marked with "L", the right margin with "R", and soft tabs with +"!". The appearance of ZDE's Non-Document mode ruler line remains +unchanged. + + 1.4. ZCPR-like Option Lead-in Character. + +ZDE now accepts ZCPR's familiar "/" slash character instead of +CP/M Plus's "[" character as an option signifier. For example, to +change to non-document mode the command is now "^KN/N" instead of +"^KN[N". To load a file in ASCII mode (for example) the command +is now "ZDE filename /A". This is more consistent with Z-System +programs as well as the MS-DOS version of VDE. It's also a lot +easier to find the slash character (at least on my keyboard)! + +ZDE allows you to "quote" the slash character in filenames in the +same way you quote it in ZDE find/replace strings, by doubling the +slash to give a literal slash. So for example the command "^KN +12//12//89.FIL" will change the current filename to +"12/12/89.FIL," and "ZDE ////MYFILE" loads //MYFILE for editing. + + 1.5. Cursor Dance Eliminated. + +Several users mentioned that ZDE's cursor often seemed to "dance" +for no apparent reason. Actually, this was due to the fact that +ZDE repaints the screen somewhat more often than larger word +processing programs, but in looking through NewWord's User Area +Listing for version 2.17, I found something I had never noticed +before. It is possible to install NewWord to turn your cursor off +and on by putting short routines in the MORPAT area and installing +jumps to your routines at 77D and 77A hex, respectively. This +reduces eyestrain by telling NW to turn off your cursor while it +repaints your screen. + +It turns out that it was fairly simple to add a similar routine to +ZDE, so this version has cursor on/off routines similar to +NewWord's. To make use of these routines, you must install ZDE +with the cursor on/off codes for your terminal. ZDENSTAL 1.3 +allows up to six bytes each for cursor on and cursor off. I have +only been able to find codes for a few of the terminals in +ZDENSTAL's library. If the codes for your terminal are not +included in ZDENSTAL, perhaps you could leave a short message to +me describing them (see below for address), and I will include +them in the next release. + + 1.6. Other Minor Enhancments. + +The cursor now turns off with the ^OZ command, giving a completely +blank screen if cursor on/off is installed (see 1.5, above). + +Version 1.0 repainted the whole screen after copying a block. Now +ZDE repaints only from the block to the bottom of the screen for +faster operation in most circumstances. I have also optimized +ZDE's general screen output routines somewhat for speed, though +this isn't noticable on terminals operating at less than 38.4 +kbaud. + +File input/output code has also been optimized for slightly +greater speed. + +And, last but not least, "quiet" operations now work up to 300 +percent faster! Both "quiet" macros and the "*" option of +find/replace boast greatly increased speed due to improved program +logic. + + +2. BUGS FIXED. + +If you did a backwards find/replace with ZDE 1.0 and responded to +the "Y/N" prompt with "*", the screen stayed off until you gave an +illegal command. The screen now comes back when replacement is +complete. + +ZCPR's GO restart now works after exitting when ZDE's window (^OW) +is active. Previously restarting with GO caused ZDE to limited +the number of lines of display available by 1/2. + +I fixed a bug with block markers failing to scroll the entire +display if entered in the last screen column. This was apparently +introduced when I made block marker displays more efficient in ZDE +1.0. + +If the cursor is to the left of the left margin, block markers now +move the cursor to the left margin instead of marking the blank +space between cursor and left margin as part of the block. + +For greater safety, ZDE now checks for free memory space before +adding a block marker with ^KK or ^KB. + +Place markers no longer cause words to "wrap" to the next line +when wordwrap is active. + +I fixed a minor bug ZDE 1.0 introduced to the ^OR command. Typing +^OR in non-document mode no longer produces the strange result of +setting the right margin to column seven. + +A display bug which occurred when the cursor was in column one of +a virtual screen with a tab to its left has been fixed. + +Previously, if only a drive letter was given in response to the +^KF command's "Dir:" prompt, ZDE searched user zero of the +specified drive, no matter what the current user number was. ZDE +now searches for files at the current user number of the specified +drive in these circumstances. + +The installed "output filter limit" was allowing one character +higher than the limit to be sent to the screen. Now only +characters equal to or less than the limit are sent. + + +3. INSTALLATION. + +You MUST use ZDENSTAL 1.3 to install this version of ZDE. Older +.ZDK and .ZDP files will still work; due to extra installation +codes, older .ZDE files will not work with this version. + +Version 1.0 of ZDENSTAL skipped the last few bytes of .ZDK key +overlay files, preventing a full 512-byte .ZDK key file overlay +from being installed. ZDENSTAL now installs the full 512 bytes. + +ZDENSTAL now allows four instead of just two default file types. + +Several new terminal definitions have been added to ZDENSTAL, as +well as some additional terminal codes (see 1.5, above). + + +4. FOR MORE INFORMATION. + +Finally, let me take this opportunity to thank the community of +users without whose efforts this version of ZDE would be far less +than what it is. Most of the above improvements and many of the +bugs fixed in this version result from comments and insights by +ZDE enthusiasts from around the country. Please let me know your +thoughts on this most recent version. + +Besides writing computer programs and working on a degree in +political science, I operate the Antelope Freeway Remote Access +Systems for CFOG, Chicago's First Osborne Group. These dual +remote systems are available at the same number, 312/764-5162, +Chicago. Antelope 1 covers CP/M and Z System, while Antelope 2 is +dedicated to MS-DOS support. The best way to contact me is +through this board. Registration is free. If you are not a +registered member, you can leave me a note as part of your +application. + +Alternatively, my mailing address is: + + 1359 W. Greenleaf, #1D + Chicago, IL 60626 + USA + +As I mentioned above, I don't plan to reissue the ZDE manuals with +the library while ZDE is still in development. For those who wish +an updated manual and/or wish to support ZDE, I offer instead a +pre-printed User's Manual and Installation Guide with Table of +Contents and Index for a contribution of $6 or more, postpaid. +The manual is printed in handsome proportional type on both sides +of 8.5 x 11 inch sheets and punched for a three-hole ring binder. +My costs for printing and mailing are about $3. + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDE16.COM b/Source/Images/d_zsdos/u1/ZDE16.COM new file mode 100644 index 00000000..55c492a5 Binary files /dev/null and b/Source/Images/d_zsdos/u1/ZDE16.COM differ diff --git a/Source/Images/d_zsdos/u1/ZDE16.DIR b/Source/Images/d_zsdos/u1/ZDE16.DIR new file mode 100644 index 00000000..a6e85025 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDE16.DIR @@ -0,0 +1,25 @@ +ZDE16.DIR: +Files in ZDE16.LBR, 01 June 90 by Carson Wilson: + +Filename Purpose +------------ --------------------------------------- +SAMPKEY.DZC Sample key file for use with ZDENSTAL. +SAMPKEY.ZDK +SAMPKEY.ZDT + +ZDE16.CZM ZDE itself. + +ZDE16.DZR This file. + +ZDE16.FOR Short RCP/M description of ZDE. + +ZDE16.NZW New in ZDE version 1.6. + +ZDENST16.CZM Installer for ZDE version 1.6. + +ZDEPROP.DZC Proportional formatting support files. +ZDEPROP.ZZ0 + +ZDKCOM13.DZC Key compiler for ZDENSTAL. +ZDKCOM13.CZM + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDE16.FIX b/Source/Images/d_zsdos/u1/ZDE16.FIX new file mode 100644 index 00000000..9b48f026 Binary files /dev/null and b/Source/Images/d_zsdos/u1/ZDE16.FIX differ diff --git a/Source/Images/d_zsdos/u1/ZDE16.FOR b/Source/Images/d_zsdos/u1/ZDE16.FOR new file mode 100644 index 00000000..024183a7 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDE16.FOR @@ -0,0 +1,8 @@ +Z System Display Editor, version 1.6. A small, fast, powerful +WordStar-type text editor for all CP/M and compatible systems with +the Z80 processor. In some ways superior to its big brother VDE, +this version of ZDE adds fully functional Auto-Indent capabilities, +Proportional Formatting, Auto-Recall of last response to prompts, +Global Find/Replace, Return to Previous Position (^QP) and more to +what many felt was already the best editor available for CP/M. + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDE16.NEW b/Source/Images/d_zsdos/u1/ZDE16.NEW new file mode 100644 index 00000000..a6d3de24 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDE16.NEW @@ -0,0 +1,498 @@ + + New in ZDE + + Z-System Display Editor + + Version 1.6 02 Jun 90 + + ZDE is copyright 1990 by Carson Wilson, all rights reserved. + You use ZDE at your own risk. The author accepts no liability + for any damages resulting from its use or misuse. The files in + this library may not be circulated in any incomplete or + modified form without the written permission of Carson Wilson. + Any commercial use of ZDE, defined as any situation where the + duplicator receives revenue by duplicating or distributing ZDE + by itself or in conjunction with any hardware or software + product, is expressly prohibited unless authorized in writing + by Carson Wilson. + + This file describes changes to ZDE since version 1.3. I have + decided not to release document revisions while ZDE is still in + active development. For now, please obtain ZDE10.DOC and + ZDENSTAL.DOC from ZDE10.LBR, and ZDE13.NEW from ZDE13.LBR, + available on Antelope Freeway and many other remote CP/M + systems. Except for the changes detailed below, these text + files provide a thorough explanation of how to use and install + ZDE. Alternatively, send a contribution to support further + work on ZDE, and I will mail you a high quality, up-to-date + printed manual for ZDE version 1.6. See section 6.3 of this + file for details. + + + - CONTENTS - + + 1. FUNCTIONAL ENHANCEMENTS. + 1.1. Proportional Formatting. + 1.2. Last Entry Recall. + 1.3. Enhanced Operation Under CP/M Plus and ZSDOS. + 1.4. Control-U now Aborts "Delete To" Function. + 1.5. Fully Operational Auto-Indent (^OA). + 1.6. Chain to ZCPR Error Handler. + 1.7. Return to Previous Position Command (^QP). + 1.8. Global Find/Replace Option. + 1.9. Semicolons are now Characters in Nondocuments. + + 2. BUGS FIXED. + 2.1. More Robust Space Calculation. + 2.2. ZCPR Line Queue Bug Fixed. + 2.3. Other Minor Nuisances Corrected. + + 3. INSTALLATION. + 3.1. New in ZDENSTAL Version 1.6. + + 4. USAGE HINTS. + 4.1. Saving Macros. + 4.2. Creating a Smaller ZDE. + 4.3. Using GET and GO with ZDE. + + 5. DEVELOPMENT HISTORY. + + 6. FURTHER INFORMATION. + 6.1. About Z System. + 6.2. About the Author. + 6.3. Pre-Printed Manuals. + + +1. FUNCTIONAL ENHANCEMENTS. + + 1.1. Proportional Formatting. + +ZDE can now format your text for use with proportional printer +fonts! See the files ZDEPROP.DOC and ZDEPROP.Z80 (included in +ZDE16.LBR) for full details. + + 1.2. Last Entry Recall. + +The following commands (among others) cause ZDE to prompt +you for information: + + COMMAND PROMPT + ^KD "Load:" + ^KE "Erase:" + ^KN "Name:" + ^KL "Load:" + ^KR "Read:" + ^QF "Find:" + ^QA "Find:" and "Change to:" + ESC-M "Macro:" + +You can often save typing time and prevent errors by using +control-R or your right arrow key [as installed] to Recall your +last response to any of the above prompts. For example, to read +in a file and then erase it, you could enter "^KR, , +RETURN" followed by "^KE, ^R, RETURN". The ^R command will +automatically recalls the filename you entered in response to the +"Read:" prompt. The Find, Replace, and Macro prompts work in a +similar manner. ^R Recalls your entire response; right arrow +recalls your last response one character at a time to allow +further editing. + +The Recall keys can also be used to recall the last used macro, +even if it wasn't entered manually. + + 1.3. Enhanced Operation Under CP/M Plus and Z3PLUS. + +ZDE takes advantage of advanced BDOS error handling to provide +slightly faster file output under CP/M Plus and Z3PLUS. In +addition, file Create stamps are now preserved under CP/M Plus +based systems as well as ZSDOS and ZDDOS systems. + + 1.4. Control-U now Aborts "Delete To" Function. + +Control-U can now be used to abort a "Delete To" (^QT) operation. +Previously, ZDE would attempt to delete up to the next literal ^U +character in the file, often causing frustration. + + 1.5. Fully Operational Auto-Indent (^OA). + +Auto-Indent is useful for typing outlines, structured program +source code, and other text where the "left margin" varies. When +the Insert (^V) toggle is on, Auto-Indent aligns the left margin +with that of the previous line. When Insert is off, it causes +the RETURN key to act differently: RETURN advances the cursor +past any indentation when moving through a file. + +When a new line is begun either by wordwrap or reformat (see +below) or by hitting RETURN with Insert on, Auto-Indent indents +the following line or lines to equal the previous one. It does +this by counting the number of spaces or Hard TABs (whichever +came first) before the text of the previous line, and indenting, +wrapping, or reformatting using this number of spaces or Hard +TABs. This entails certain possible conflicts, most of which ZDE +itself automatically prevents: + +First, if you mix Hard TABs and spaces when indenting a line, AI +may give strange results, as it will count and use the first +character only. For example, if your line is indented as +, AI will indent the next line with +only. + +To avoid conflicts, enabling AI sets the left margin to 1, and +setting the left margin greater than 1 disables AI. Also, Double +Spacing (^O S) is disabled by Auto-Indent, and Auto-Indent +disables Double Spacing. + +Auto-indent status also now defaults to ON in Nondocument mode, +and OFF otherwise. + + 1.6. Chain to ZCPR Error Handler. + +ZDE 1.6 will chain to the installed Error Handler under ZCPR 3.4 +with error #12 (TPA overflow) if there was not enough memory for +ZDE to edit the file you specified on the command line. ZDE does +this because the flow of logic in a multiple command line +sometimes dictates that the editor complete its task before +succeeding commands are carried out. For example, I use the +a multiple command alias similar to the following + + ZDE file;echo erase;if in;era file;else;mv file newdir:;fi + +to process modem capture files. After processing each file with +ZDE I generally want either to erase it (if it contained nothing +worth saving) or move it to another directory. But on occasion +the capture file is too large to process with ZDE. If the script +were allowed to proceed, it would force me either to erase the +capture file or move it elsewhere, neither of which would be +appropriate if I hadn't even looked at its contents yet. + +This is where Z System's error handler comes it handy: it +provides a means of dealing with an offending command line before +unwanted commands cause harm. When ZDE chains to the error +handler, I can _edit_ commands beginning with ZDE's invocation, +either removing unwanted commands or inserting further commands +as the situation may dictate (it is also possible to abort the +command or multiple command script altogether). In the above +case, I would revise my command line to the following: + + NW file;echo erase;if in;era file;else;mv file newdir:;fi + +By substituting the ZDE command with NW I have invoked NewWord +for this instance only of the command, which in turn will edit +the larger file. + +Without question the finest ZCPR error handler now available is +Rob Friefeld's ZERR. There are even provisions within ZERR for +automatically editing LSH scripts and for automatically chaining +to transient versions when resident (RCP, CCP) commands fail; all +of this is described in ZERR13.LBR. + + 1.7. Return to Previous Position Command (^QP). + +This function is basically the same as the WordStar command: +hitting ^Q-P takes you to the position the cursor was at before +the previous command (including the ^QP command itself - try +it!). For instance, the sequence "^B, ^Q-P" reformats beginning +with the current line then restores the cursor to its original +position within the paragraph. ^Q-P is also useful for moving +long distances within a file without losing one's place: for +example you can move to the top of the file with ^Q-R, then come +back with ^Q-P. + +Within Macros, the previous cursor location is preserved: ^Q-P +will always return you to your place in the text BEFORE you +invoked the Macro. This not only allows you to resume editing at +the same location after using Macros; you can also build one or +more ^Q-P commands into the Macro itself. See SAMPKEY.* files +for one example; I'm sure there are lots of other ways to use +^Q-P within a Macro. Thanks to Howard Schwartz for keeping on my +case about this feature until I finally discovered an easy way to +implement it. + + + 1.8. Global Find/Replace Option. + +Besides "B" (backwards search) and "C" (case-sensitive search), +ZDE now sports a THIRD find/replace option: "G" for Global +search. ZDE normally begins your (backward or forward) search at +the current cursor location. Specifying "G" causes ZDE to start +at the BEGINNING of the file when searching forward for strings, +or at the END when searching backwards. Otherwise, the search or +replace command proceeds exactly as it does normally. The "G" +option is used in the same way as the other options, by enclosing +it in slashes as a prefix to the string being searched for (e.g., +to find "Carson" globally, enter "/gc/Carson" in response to +^Q-F's "Find: " prompt). + + 1.9. Semicolons are now Characters in Nondocuments. + +ZDE now counts the ";" (semicolon) character as a normal +character in "N" mode, whereas it counts the semicolon as a +punctuation mark in the "W" and "A" modes. This is mainly of +interest to assembly language programmers, as the semicolon is +often used alone to mark the beginnings of comments in source +code. Treating the semicolon as a normal character in "N" files +simply makes it easier to manipulate assembly language comments. +Thanks to Rob Friefeld for his thoughts on this. + + +2. BUGS FIXED. + + 2.1. More Robust Space Calculation. + +ZDE's calculation of memory space remaining is now more robust. +In past versions of ZDE (and VDE), certain editing commands could +cause a crash when only a few bytes of free memory were +available (thanks to Rob Friefeld). + + 2.2. ZCPR Line Queue Bug Fixed. + +The ^QQ (go to next line in ZCPR queue) command of previous +versions of ZDE failed if ZCPR's 16-byte user-defined buffer was +filled. Version 1.6 fixes this problem, properly returning to +the first line in the queue after the last value in has been +reached. This allows Turbo Pascal-like interactive programming +of Z80 assembly language when used under Z System with Al +Hawley's ZMAC Z80 Macro Compiler ($50 including ZML and ZMLIB; +contact Al Hawley at Ladera Z-Node, 213/670-9465 (modem), Ladera +Heights, CA). + + 2.3. Other Minor Nuisances Corrected. + +ZDE now turns alternate video off when placing the cursor at the +string to change during ^QA prompts. + +A bug which allowed an extra character or hyphen on the last line +of a paragraph if the line's length was one character beyond the +right margin has been fixed (thanks to Larry Schnitger for +spotting these). + +A bug which occurred if you set the block end marker to the last +byte in the file then did a block delete has been fixed (thanks +to Ben Cohen for finding this). + +One or more bug(s) which occurred while printing have been +cleared up. ZDE should now always give a correct left margin +with or without a page header or top margin. The printout is +also slightly faster when left and top margins are used together. + +ZDE now always finds strings located exactly at the end of a +file. + +When searching with the /c/ option, erroneous results occurred if +a non-matching string of the same length as the search string +beginning with the same first character as the search string was +located at the very end of a file. This has been fixed. + +Fixed minor bug in proportional formatting that caused repeated +^B commands to give inconsistent results under some +circumstances. + +Fixed bug which set margins spuriously if an illegal number was +entered. ZDE also now disallows setting margins to zero, which +caused formatting problems. + +^B (reformat) no longer absorbs following commands, allowing ^B +to be embedded in key redefinitions with SmartKey, etc. + + +3. INSTALLATION. + +You MUST use ZDENSTAL 1.6 to install this version of ZDE. Older +ZDK and .ZDP files will still work. Due to extra installation +codes, .ZDE files created with version 1.0 of ZDE will not work +with this version of ZDENSTAL. + + 3.1. New in ZDENSTAL Version 1.6. + +The proportional formatting (^OJ) toggle can be disabled with +ZDENSTAL to allow use of ZDE's proportional spacing table as a +patch area. When proportional spacing is disabled, an additional +96 bytes of space is released for custom user patching. ZDENSTAL +also allows you to set the proportional formatting toggle to ON +or OFF at startup [this can also be toggled while operating ZDE]. + +ZDENSTAL's "R" option now restores ZDE's proportional spacing +table to its default (as distributed) values. + +ZDENSTAL's "F" option now gives the locations of all FIVE key +definition tables (former versions left out the ESC- table). The +"F" option also gives the location of ZDE's proportional spacing +table for use when patching ZDE. + +The Osborne 1 and Vixen terminal definitions are now separate due +to different screen width requirements (thanks to Ben Cohen for +sorting this out). + +ZDENSTAL previously would overwrite .ZDK and .ZDP files with the +wrong information if the .ZDK or .ZDP file had been archived (bit +7 of filetype character 3 set). This problem has been corrected +in version 1.6. + +Some ZDENSTAL messages have been improved. + + +4. USAGE HINTS. + +The following are just some miscellania that I have picked up +from using and working on ZDE. + + 4.1. Saving Macros to Disk. + +Under Z System version 3.4, it is possible to "save your work" +after creating a working Macro. First, be sure to save your new +Macros as Macro Keys using ZDE's ESC-# command (see ZDE Manual). +Then exit ZDE and type + + POKE 310 02 50;ZSAVE 310-490 filename.ZDK + +You have just used Z System's type-4 SAVE program to create a new +.ZDK file, which can now be examined and installed permanently +into ZDE with ZDENSTAL, or further revised using ZDKCOM. [NOTE: +the addresses and values given above will work for ZDE version +1.6, but may change with future versions of ZDE.] + + 4.2. Creating a Smaller ZDE. + +If you are SURE you will never want to enable the Help Menus, you +can create a slightly smaller copy of ZDE. First use ZDENSTAL to +disable ZDE's Help Menus. Then issue the Z System command, + + GET 100 ZDE.COM;ZSAVE 100-3E7F filename.COM + +This creates a copy of ZDE that is about 1 kilobyte smaller than +the distributed package, and loads somewhat faster on slower +systems. This procedure is specific to ZDE 1.6; do NOT assume +that it will work on future versions. + + 4.3. Using GET and GO with ZDE. + +Some users have discovered that the Z System GET and GO commands +can be used to extend ZDE's versatility or save disk space. +Since the .ZDE, .ZDP, and .ZDK files used by ZDENSTAL are simply +binary images of various portions of ZDE, you can achieve the +versatility of having several copies of ZDE without the added +disk overhead by using Z System commands that "install" one or +more of ZDENSTAL's files on the fly. + +For example, if you used ZDE with a particular terminal most of +the time, but occasionally switched to another terminal that was +incompatible with the first one, you might want to create a Z +System Alias which would overlay the default copy of ZDE with +your second terminal's characteristics at startup. You could +achieve this by first using ZDENSTAL to configure ZDE for your +second terminal, saving the terminal's characteristics into a +.ZDE file (see the ZDE Manual for details on this). You would +then ZDE for your normal terminal, and write an Alias to +auto-install this copy of ZDE for your occasional terminal on the +fly: + + GET 100 ZDE.COM;GET 180 term2.ZDE;GO $* + +This command loads the file term2.ZDE over ZDE before proceeding, +providing a temporary copy of ZDE that works with your second +terminal. + +This approach can also be used to generate "virtual" copies of +ZDE with different printer codes and Macro Key definitions. The +addresses of the various overlays for ZDE version 1.6 are: + + 180 hex - Terminal codes (.ZDE files) + 1F0 hex - Printer codes (.ZDP files) + 310 hex - Macro Keys (.ZDK files) + +[These addresses may well change in future versions of ZDE.] + +Obviously, this involves some "homework:" if you get the +addresses wrong or use an incompatible .ZDx file (from a previous +version of ZDE, for example), you will likely cause yourself +grief. For these reasons I generally recommend simply creating +multiple copies of ZDE. But under some circumstances (e.g., +laptop computer with limited disk or ROM space) this approach may +be quite rewarding. + + +5. DEVELOPMENT HISTORY. + +ZDE is a descendant of Eric Meyer's famous VDE (Video Display +Editor) program for CP/M. In 1988, Eric produced his final +version of VDE for CP/M (2.66). Eric now maintains VDE for +MS-DOS only; ZDE continues VDE's evolution on Z80 systems. ZDE +removes many of the CP/M VDE's defects and adds such features as +support for ZCPR, ZSDOS, and CP/M Plus, improved terminal and +disk I/O performance, proportional formatting, file datestamp +support, and improved installation. Meanwhile, the MS-DOS +version of VDE has continued to evolve, now boasting multiple +file buffers, auto-save, auto-number, and much more. VDE for +MS-DOS is available on computer bulletin boards (including +Antelope Freeway; see below) as VDE152.ZIP. + + +6. FURTHER INFORMATION. + + 6.1. About Z System. + +If you are using CP/M equipment, you have probably heard of Z +System. Basically this is a downward compatible replacement for +the system software distributed with Z80 CP/M equipment. By +utilizing Z80 opcodes and advanced design techniques, the authors +of Z System have expanded the versatility of the CP/M operating +system far beyond its original limitations. To learn more about +Z System, log into the bulletin board listed below, or contact +one of the following: + + Plu*Perfect Systems Sage Microsystems East + 410 23rd St. 1435 Centre St. + Santa Monica, CA 90402 Newton Centre, MA 02159-2469 + (213)-393-6105 (eves.) (617)-965-3552 (9am-11pm) + + 6.2. About the Author + +First, let me take this opportunity to thank the community of +users without whose support this version of ZDE would not have +been possible. You have made ZDE what it is through your +generous contributions of time and/or money. Without those who +appreciate (and criticize) my work I doubt I could justify the +time and energy I've spent on ZDE. In addition, many of the +improvements and bug fixes in version 1.6 result directly from +specific comments and insights by users. Please continue to +share your thoughts and experiences with ZDE; I'm listening. + +I am a doctoral student trying to keep from starving while +working on my dissertation in Political Science at Loyola +University of Chicago. I am a coauthor of ZSDOS, a commercial +replacement for the BDOS portion of CP/M, and have authored +numerous CP/M and Z System programs. My interests include +computer programming, telecommunications, the Soviet Union, +Political Theory, and bicycling (not necessarily in that order). +I am also looking for part- or full-time work. To this end I am +skilled in political analysis, know the Russian language and the +Z80, C, BASIC, and Pascal computer languages, and have +comprehensive knowledge of CP/M and Z System and working +knowledge of Unix and MS-DOS. If you know of a gainful opening +in the computer field, I would like to hear from you. + +Among other things I operate the Antelope Freeway Remote Access +Systems for CFOG, Chicago's First Osborne Group. These dual +remote systems are available at the same number, 312/764-5162, +Chicago. Antelope 1 covers CP/M and Z System while Antelope 2 is +dedicated to MS-DOS support. The best way to contact me is +through this board. Registration is free. If you are not a +registered member, you can leave me a note as part of your +application. + +Alternatively, my mailing address is: + + 1359 W. Greenleaf, #1D + Chicago, IL 60626 + USA + + 6.3. Pre-Printed Manuals. + +As I mentioned above, I don't plan to reissue the ZDE manuals +with the library while ZDE is still in development. For those +who wish an updated manual and/or wish to support ZDE, I offer +instead a pre-printed 40-page User's Manual and Installation +Guide with Table of Contents and Index, postpaid, for those who +make contributions of $6 or more to support further development +of ZDE. + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDENST16.COM b/Source/Images/d_zsdos/u1/ZDENST16.COM new file mode 100644 index 00000000..8ccc9767 Binary files /dev/null and b/Source/Images/d_zsdos/u1/ZDENST16.COM differ diff --git a/Source/Images/d_zsdos/u1/ZDEPROP.DOC b/Source/Images/d_zsdos/u1/ZDEPROP.DOC new file mode 100644 index 00000000..5d3cd676 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDEPROP.DOC @@ -0,0 +1,139 @@ +ZDEPROP.DOC +Proportional Spacing with ZDE +June 2, 1990 +Carson Wilson + + 1. INTRODUCTION. + 2. USING ZDE'S PROPORTIONAL FORMATTING FEATURE + 3. INSTALLATION AND CUSTOMIZATION. + + +1. INTRODUCTION. + +ZDE version 1.6 incorporates an elemental proportional formatting +feature. This option is useful only to those whose printers have +proportional spacing capabilities. Proportional formatting allows +you to format ragged right text properly for proportional output. +Centering and right justification of proportional text are not +available. + + +2. USING ZDE'S PROPORTIONAL FORMATTING FEATURE + +Proportionally spaced printing gives a more professional look, +allowing more characters to be printed on a line without +crowding. This is because less space is allocated to narrow +characters like "i" and more to wide characters like "M." Most +computer printers do NOT allow proportional spacing; only laser +printers, some daisy-wheel equipment, and newer dot-matrix +printers have this ability. Typically, there is a special set of +instructions which when sent to the printer, cause it to use +proportional spacing rather than monospacing. On some models +(the Silver Reed SR550 for example), DIP switches also control +this feature. + +ZDE does not itself perform proportional spaced printing; it +simply allows you to format your text for use with a printer that +has this capability. You must instruct your printer to space +proportionally before sending text to it. If you have tried using +the proportional capability of your printer, you probably have +noticed that LINES WITH LOTS OF WIDE CHARACTERS IN THEM +print out much wider than lines comprised of narrow characters. +ZDE 1.6 allows you to compensate for this by counting the width +of each character when it formats a paragraph (^B command), and +wrapping each line when its width count reaches the equivalent +of the current right margin setting. + +The ^OJ command toggles this feature on and off [the default may +also be installed with ZDENSTAL]. When proportional spacing is +active, the legend "PS" appears in ZDE's status line (this is +overwritten by "MR" when the margins are released). +Proportional spacing occurs only during the ^B reformat command, +not during wordwrap, so to format a document proportionally, you +must use ^B at the beginning of each paragraph after you key it +in. Still, the results are well worth the extra trouble, especially +for material that will be reproduced. + + +3. INSTALLATION AND CUSTOMIZATION. + +ZDE comes preconfigured to format text for proportional spacing +with Epson's new LQ510 dot matrix printer. Since most printers +allocate roughly the same ratios of space to the various +characters, there is a good chance you won't need to install ZDE +for your printer. This file has been formatted for proportional +output by ZDE; try printing it proportionally to see the results. + +If you should decide to change ZDE's proportional spacing to +match your printer, you can patch ZDE's offset values for +individual characters. The offsets are stored in a sequential +ASCII table whose location is given by ZDENSTAL's "F" option. +The table consists of positive and negative (2's compliment) byte +values, one for each character beginning with " " and going +through "~". As distributed, all of the values are either -12, -6, +0, +6, or +12. The negative numbers are expressed as (256+n), +where n is the negative number. So for example, -6 is expressed +as (256+(-6)) or 250 (FA hex). + +ZDE uses its ASCII table as follows. When reformatting a line, +ZDE counts each character as (30+table value)/30 of a column +wide. So if the offset is zero, the character is one column wide +(30/30 = 1) and ZDE increments the current column by one. If +the character's offset is -6, it counts as only (30+(-6)/30) or +24/30 columns wide, and ZDE increments the current column by +only 24/30. If the character's offset is +12, it counts as 42/30 +columns wide, and so on. When a full column is "lost" due to +characters with negative offsets, ZDE adds the next character to +the line without incrementing the column count. Similarly, when +enough "extra" columns are counted to equal a full character, ZDE +increments its column count without actually adding another +character to the line. + +To see the effects of this, try reformatting a paragraph or two, +first with PS on, then with it off. Lines of wide characters are +shortened on screen, while lines of narrow characters are allowed +to extend beyond the right margin. When the text is printed +proportionally, your printer reverses the process. Lines of wide +characters are lengthened and lines of narrow characters are +shortened, the net result being proportionally spaced text with an +even right margin. + +If your printer's proportional output is not properly compensated +for by ZDE, it is possible to install another offset table within +ZDE to suit your needs. The current table's address is given by +ZDENSTAL's "F" option. To find the location of a character's +offset, add its ASCII value to ZDE's table address and subtract +32. For example, the ASCII value for "A" is 65, so the location of +"A"'s offset is (table address+65-32) or (table address+33). + +You may adjust a character's offset to any value between -34 and ++35 decimal, but keep in mind that offsets if less than -29 may +result in lines that _never_ reformat since characters with +offsets of -30 or less take up no virtual space or less! To +calculate the proportional ratios used by your printer, it is best +to print out a line of thirty of each character in proportional +mode and compare the length of each line to the others. Most +characters should result in lines of roughly the same length; this +is your "base" length, and you should set the offsets of these +characters in ZDE to 00. Other lines will probably fall into four +or so other lengths; hopefully these lengths will correspond to an +even xx/30ths of the "base" length. To get the proper offset +value, just subtract the number of characters equal in length to +a line of "base" characters from 30. For example, if only 18 +capital "M"'s take up the same length as 30 base characters, the +offset for "M" is 30-18 or +12. If it takes 42 "i"'s to equal the +length of 30 base characters, the offset for "i" is 30-42 or -12. + +Once you have determined the offsets in 30ths of each +character's width from the base length, just plug these values +into ZDE's proportional table. You can use a patcher to alter a +few characters. For extensive modification, I have provided the +assembly language file ZDEPROP.Z80 which can be assembled to a +.HEX file overlay file for ZDE. Before assembling ZDEPROP.HEX, +you must edit the file and set the equate TABLE to the current +address of ZDE's proportional spacing table as given by +ZDENSTAL. Then overlay ZDE with ZDEPROP.HEX using MLOAD, +SID, or DDT. + +- End of ZDEPROP.DOC - + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDEPROP.Z80 b/Source/Images/d_zsdos/u1/ZDEPROP.Z80 new file mode 100644 index 00000000..715adcb0 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDEPROP.Z80 @@ -0,0 +1,119 @@ +; +; File: ZDEPROP.Z80 - Default proportional width table for ZDE. +; Author: Carson Wilson +; Date: 02 Jun 90 +; Notes: Assembles to a .HEX file which overlays ZDE's native table. + +; EQUATES + +TABLE equ ????h ; Change "????" to the value given by ZDENSTAL + ; ..for "proportional table." +; + ORG TABLE + +; Offset Corresponding character + + db 0 ; space + db -12 ; ! + db 0 ; " + db 0 ; # + db 0 ; $ + db 6 ; % + db 6 ; & + db -12 ; ' + db -6 ; ( + db -6 ; ) + db 0 ; * + db 0 ; + + db -12 ; , + db 0 ; - + db -12 ; . + db 0 ; / +; + db 0 ; 0 + db 0 ; 1 + db 0 ; 2 + db 0 ; 3 + db 0 ; 4 + db 0 ; 5 + db 0 ; 6 + db 0 ; 7 + db 0 ; 8 + db 0 ; 9 +; + db -12 ; : + db -12 ; ; + db 0 ; < + db 0 ; = + db 0 ; > + db 0 ; ? +; + db 6 ; @ + db 6 ; A + db 6 ; B + db 6 ; C + db 6 ; D + db 6 ; E + db 6 ; F + db 6 ; G + db 6 ; H + db -6 ; I + db 0 ; J + db 6 ; K + db 6 ; L + db 12 ; M + db 6 ; N + db 6 ; O + db 6 ; P + db 6 ; Q + db 6 ; R + db 6 ; S + db 6 ; T + db 12 ; U + db 6 ; V + db 12 ; W + db 6 ; X + db 6 ; Y + db 0 ; Z + db -6 ; [ + db 0 ; \ + db -6 ; ] + db 0 ; ^ + db 0 ; _ + db -12 ; ` +; + db 0 ; a + db 6 ; b + db 0 ; c + db 6 ; d + db 0 ; e + db -6 ; f + db 6 ; g + db 6 ; h + db -12 ; i + db -6 ; j + db 6 ; k + db -12 ; l + db 12 ; m + db 6 ; n + db 0 ; o + db 6 ; p + db 6 ; q + db 0 ; r + db 0 ; s + db -6 ; t + db 6 ; u + db 6 ; v + db 12 ; w + db 0 ; x + db 6 ; y + db 0 ; z + db -6 ; { + db -12 ; | + db -6 ; } + db 0 ; ~ + + end + +; End ZDEPROP.Z80 + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u1/ZDKCOM13.COM b/Source/Images/d_zsdos/u1/ZDKCOM13.COM new file mode 100644 index 00000000..040fd1c4 Binary files /dev/null and b/Source/Images/d_zsdos/u1/ZDKCOM13.COM differ diff --git a/Source/Images/d_zsdos/u1/ZDKCOM13.DOC b/Source/Images/d_zsdos/u1/ZDKCOM13.DOC new file mode 100644 index 00000000..75b83079 --- /dev/null +++ b/Source/Images/d_zsdos/u1/ZDKCOM13.DOC @@ -0,0 +1,209 @@ + + ZDKCOM + + Key File Compiler for ZDE + + Version 1.3 01 Jun 90 + + ZDKCOM and its documentation are adapted with permission from + VDKCOM12.LBR, by Fred Haines, Glendale Littera RCPM/QBBS, 818 + 956-6164. VDKCOM version 1.2 is copyright 1988 by Fred Haines, + and is released by the author to the CP/M community for all + reasonable noncommercial purposes. For the Z80 source code to + ZDKCOM, see ZDKCOM13.LBR. + + + CONTENTS + + 1. How to Use ZDKCOM. + 2. Programmer's Note. + + +1. How to Use ZDKCOM. + + ZDKCOM compiles an ASCII text file into a *.ZDK file of key +macros which ZDENSTAL will install in ZDE. It alsos convert an +existing ZDK file into a text file with the extension ZDT. It +allows you to create, edit, and re-edit complicated key macros +with a full-featured word processor - ZDE itself - instead of the +backspace-only line editor in ZDENSTAL. The syntax is: + + ZDKCOM .ZDT + converts text file to ZDK overlay + + ZDKCOM .ZDK + converts overlay to ZDT text file + + Use ZDE in NONDOCUMENT mode to type a file that looks like +what you see when you use the K option of ZDENSTAL, substituting +lower case "n" or "q" for the No Repeat and Quiet option +indicators and : + + qThis line would be for key 0 in Quiet mode.^M + nThis line would be for key 1 in No Repeat mode.^M + + This line would be key 3, with key 2 unassigned. + n^M^M^M + The line above, key 4, prints with two blank lines following it. + q"This is in quotes, but no carriage return at the end." + "This line is ^P^BMacro Key 7^P^B with embedded boldface codes."^M + q^VThis line turns insert on before printing the line.^A^A^A^A_^F^D_^M + n ^A^A^A^A + +...and so on. Lines correspond to the number keys in 0 to 9 +order, with blank lines for unassigned keys. Do NOT embed control +codes. Type everything in ASCII. For instance, to underline, +type out '^P^Swords underlined^P^S'. It's a good idea to make +hard carriage returns visible by toggling them on with the ^OD +command. ZDKCOM accepts trailing spaces as part of the macro, +even though you can't see them, so, if you don't want them, make +sure each line is terminated by a hard carriage return. + Individual key macro strings may not exceed 127 bytes in the +ZDK file, though they may in the ZDT text file, since ASCII +representations of single-byte control codes require two bytes, +and option flags and slashes don't contribute to the length of the +string. + The total of all strings may not exceed 498 output bytes. +This is two bytes less than allowed by ZDE and ZDENSTAL, but, +under the program's present logic, it would require an inordinate +amount of code to make those last two bytes available. If you +really need them, add them to the ZDK file with ZPATCH or any +other patcher, locate the last string-length byte, and add 2 (in +hex) to it. + For a quick demo, remove the leading spaces from the lines +below, mark them as a block, and write them out to .ZDT. Run +ZDKCOM .ZDT. Then load the resulting ZDK file into ZDE with +the command ZDENSTAL ZDE .ZDK. + + q^C^C^C^E^E^E^E^E^[^E + q^[b^[0^Qs^X^[=^M1^[= 1^S^V ^D^[!0^[1^Qb^B^Ku + ^[=^M0^V^I^V^B^G^[![^[0^X + ^[=^M0^T^B^N^[0^X + q^P^[^P^I^P^K^P^[9 + q^V^KrA0:LH.FMT^M + q^G^G^G^G^X + q^A^A^S + q^A^A^S + q^KrHEADER^M + +Key macro 0 measures off one full page if the top margin is 0 and +the page length is 58 lines. Adjust for different page lengths by +adding or subtracting ^E's. I use this macro to move from line 1 +of a page to line 1 of the next page. I then use key macro 9 to +read in a page header from a separate file that contains nothing +but the properly spaced header text with a # in place of the page +number. I search for # with a ^Qf and replace it with the +appropriate page numbers. + This happens so quickly on a 9 mhz SB180 with hard disk that +it is virtually unnoticeable, but there is a faster way to do it. +Just make up a header at the top of the first page, or, if you +want to start page headers only on page two, at the foot of the +file, and mark it as a block. Use key macro 0 to move from the +top line of a page to the top line of the next, and copy the +header into place with the ^KC command. Don't forget to erase the +original of the header at the foot of the file when you get there. + Key macro 1 softens and reforms a paragraph by removing the +hard carriage returns from the ends of each line. + Key macro 2 changes a document in flush left block format +(like this one) to indented paragraph form, and key macro 3 +changes it back again. + Key macro 4 embeds my DIABLO 1610-compatible printer's code +for setting a left margin in column 11 (^K=0Bh) in the document. +If I want another margin I add or subtract from 0Bh and overwrite +the ^K with the appropriate control character. You may well be +able to substitute your own printer's set left margin code for +this one. + Key macro 5 reads in a previously prepared letterhead stored +as LH.FMT on drive/user A0. + Key macro 6 removes four spaces or characters from the +beginning of each line, used to remove line numbers from the +beginnings of messages in modem capture files. + + +2. Programmer's Note. + + A ZDK file is a data structure four records long. The first +two bytes are an ID number which ZDENSTAL checks to ensure that it +is working with the correct version. The current number, 0250h, +is valid for several recent versions of ZDE. + These two bytes are followed by up to ten strings, each +preceded by a string-length byte which ZDE uses to index the +string's location. Each string is limited by the size of a buffer +in ZDE to 127 bytes. + An empty string is indicated by a string-length byte of 00h. +After the last byte of the last string, the remainder of the 512 +bytes are filled with 00h. + It is a peculiarity of ZDKCOM that it needs to write two null +bytes at the end of the file, which means that it will accept only +498 bytes for the total length of all strings (512, less two ID +bytes, less 10 string-length bytes, less these two more) rather +than the 500 that ZDE and ZDENSTAL allow. + When you look at the key macro buffer of ZDE using the K +option of ZDENSTAL, you see something that looks like this: + + <0>This line would be for key 0 in Quiet mode.^M + <1>This line would be for key 1 in No Repeat mode.^M + <2><> + <3>This line would be key 3, with key 2 unassigned. + <4>^M^M^M + <5>The line above, key 4, prints with two blank lines following it. + <6>"This is in quotes, but no carriage return at the end." + <7>"This line is ^P^BMacro Key 7^P^B with embedded boldface codes."^M + <8><> + <9><> + +The numbers down the side and the option indicators , , and +<> (no option) are supplied by ZDENSTAL. The ZDT text file +version of the same macro keys would omit the string numbers and +no option indicators, and convert the and to simple lower +case 'n' and 'q'. If you need lower case 'n' or 'q' as the first +character of a key macro, just precede it with a slash, which will +be ignored. + ZDKCOM recognizes blank lines as unassigned keys. These +produce an "error" message when invoked by ZDE. + ZDE recognizes a No Repeat option if the the high bit is set +on the first byte of the macro string after the length byte, and a +Quiet option if the high bit is set on both of the first two bytes +of the string. + The translation procedure from text to overlay requires: + + Enter two-byte ID string 02h 50h in output file. + + Enter 00h to save a place for a string length byte. + + Check for "n" or "q" as first three bytes of new string and add + 80h to the next byte or next two bytes input as required. + + Read in the rest of the string byte by byte and output each byte + to the output file. If "^" appears in the string, drop it and + subtract 40h from next byte to make it into a real control + character. If "/" appears, ignore it and print the next + character literally. "/^" prints "^" rather than turn the + character following the carat into a control code, and "//" + prints a single slash. A single input slash is ignored. + + When the CRLF pair is encountered in the input text file, + convert it to a 00h place marker for the length of the next + string. Get the number of bytes output in the last string and + write it to the position of the string-length byte at the head + of the preceding string. + + When the text file's ^Z EOF is encountered, fill the remainder + of the total 512 bytes with 00h and close the files. + +When converting ZDK overlays to ZDT text files, the procedure is +more or less reversed. ZDKCOM converts the string length bytes to +CRLF pairs, the control code bytes to two-byte ASCII strings '^c', +and finishes off the file when all strings are accounted for by +inserting an EOF ^Z. + In addition, ZDKCOM has error checking for file opening and +closing and for individual and overall string length, and it +reports activity to keep the user from thinking the program has +hung, though the counters on the screen are otherwise meaningless. + The structure of the four-sector ZDK file in CP/M is so +similar to the eight-sector MS/DOS version that you can use +ZDKCOM, along with a patcher, to create a VDK file for +installation in VDE12, the MS/DOS version of ZDE. Make up the ZDT +file as you would for CP/M, then patch the second ID byte from 50h +to 60h and add four records of nulls. + \ No newline at end of file diff --git a/Source/Images/d_zsdos/u3/Attack.pt3 b/Source/Images/d_zsdos/u3/Attack.pt3 new file mode 100644 index 00000000..dc9d04a9 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Attack.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Backup.pt3 b/Source/Images/d_zsdos/u3/Backup.pt3 new file mode 100644 index 00000000..e9141fe4 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Backup.pt3 differ diff --git a/Source/Images/d_zsdos/u3/BadMice.pt3 b/Source/Images/d_zsdos/u3/BadMice.pt3 new file mode 100644 index 00000000..aa78a8d2 Binary files /dev/null and b/Source/Images/d_zsdos/u3/BadMice.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Demo.mym b/Source/Images/d_zsdos/u3/Demo.mym new file mode 100644 index 00000000..255fc160 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Demo.mym differ diff --git a/Source/Images/d_zsdos/u3/Demo1.mym b/Source/Images/d_zsdos/u3/Demo1.mym new file mode 100644 index 00000000..b224f321 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Demo1.mym differ diff --git a/Source/Images/d_zsdos/u3/Demo3.mym b/Source/Images/d_zsdos/u3/Demo3.mym new file mode 100644 index 00000000..808db891 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Demo3.mym differ diff --git a/Source/Images/d_zsdos/u3/Demo3mix.mym b/Source/Images/d_zsdos/u3/Demo3mix.mym new file mode 100644 index 00000000..b5981848 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Demo3mix.mym differ diff --git a/Source/Images/d_zsdos/u3/Demo4.mym b/Source/Images/d_zsdos/u3/Demo4.mym new file mode 100644 index 00000000..ed2e8a85 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Demo4.mym differ diff --git a/Source/Images/d_zsdos/u3/HowRU.pt3 b/Source/Images/d_zsdos/u3/HowRU.pt3 new file mode 100644 index 00000000..47fb464e Binary files /dev/null and b/Source/Images/d_zsdos/u3/HowRU.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Iteratn.pt3 b/Source/Images/d_zsdos/u3/Iteratn.pt3 new file mode 100644 index 00000000..575cccf4 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Iteratn.pt3 differ diff --git a/Source/Images/d_zsdos/u3/LookBack.pt3 b/Source/Images/d_zsdos/u3/LookBack.pt3 new file mode 100644 index 00000000..1dd15ac7 Binary files /dev/null and b/Source/Images/d_zsdos/u3/LookBack.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Louboutn.pt3 b/Source/Images/d_zsdos/u3/Louboutn.pt3 new file mode 100644 index 00000000..8b4b0b15 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Louboutn.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Namida.pt3 b/Source/Images/d_zsdos/u3/Namida.pt3 new file mode 100644 index 00000000..2a2d8562 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Namida.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Recoll.pt3 b/Source/Images/d_zsdos/u3/Recoll.pt3 new file mode 100644 index 00000000..5a2744ab Binary files /dev/null and b/Source/Images/d_zsdos/u3/Recoll.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Sanxion.pt3 b/Source/Images/d_zsdos/u3/Sanxion.pt3 new file mode 100644 index 00000000..25a77aab Binary files /dev/null and b/Source/Images/d_zsdos/u3/Sanxion.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Synch.pt3 b/Source/Images/d_zsdos/u3/Synch.pt3 new file mode 100644 index 00000000..16149d1a Binary files /dev/null and b/Source/Images/d_zsdos/u3/Synch.pt3 differ diff --git a/Source/Images/d_zsdos/u3/ToStar.pt3 b/Source/Images/d_zsdos/u3/ToStar.pt3 new file mode 100644 index 00000000..9c77ed4f Binary files /dev/null and b/Source/Images/d_zsdos/u3/ToStar.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Tune.com b/Source/Images/d_zsdos/u3/Tune.com new file mode 100644 index 00000000..9f5ba036 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Tune.com differ diff --git a/Source/Images/d_zsdos/u3/Victory.pt3 b/Source/Images/d_zsdos/u3/Victory.pt3 new file mode 100644 index 00000000..d2c6f3e7 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Victory.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Wicked.pt3 b/Source/Images/d_zsdos/u3/Wicked.pt3 new file mode 100644 index 00000000..840a58d1 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Wicked.pt3 differ diff --git a/Source/Images/d_zsdos/u3/YeOlde.pt3 b/Source/Images/d_zsdos/u3/YeOlde.pt3 new file mode 100644 index 00000000..ba99371b Binary files /dev/null and b/Source/Images/d_zsdos/u3/YeOlde.pt3 differ diff --git a/Source/Images/d_zsdos/u3/Yeovil.pt3 b/Source/Images/d_zsdos/u3/Yeovil.pt3 new file mode 100644 index 00000000..694de685 Binary files /dev/null and b/Source/Images/d_zsdos/u3/Yeovil.pt3 differ diff --git a/Source/Images/fd0/u0/DIF.COM b/Source/Images/fd0/u0/DIF.COM deleted file mode 100644 index 87b89d75..00000000 Binary files a/Source/Images/fd0/u0/DIF.COM and /dev/null differ diff --git a/Source/Images/fd0/u0/SID.COM b/Source/Images/fd0/u0/SID.COM deleted file mode 100644 index 3b073ba5..00000000 Binary files a/Source/Images/fd0/u0/SID.COM and /dev/null differ diff --git a/Source/Images/fd0/u0/WS.COM b/Source/Images/fd0/u0/WS.COM deleted file mode 100644 index aa028bc3..00000000 Binary files a/Source/Images/fd0/u0/WS.COM and /dev/null differ diff --git a/Source/Images/fd0/u0/WS.OVR b/Source/Images/fd0/u0/WS.OVR deleted file mode 100644 index 5e3c8773..00000000 Binary files a/Source/Images/fd0/u0/WS.OVR and /dev/null differ diff --git a/Source/Images/fd0/u0/WSCHANGE.COM b/Source/Images/fd0/u0/WSCHANGE.COM deleted file mode 100644 index bc85c1fc..00000000 Binary files a/Source/Images/fd0/u0/WSCHANGE.COM and /dev/null differ diff --git a/Source/Images/fd0/u0/WSCHANGE.OVR b/Source/Images/fd0/u0/WSCHANGE.OVR deleted file mode 100644 index 4f707c63..00000000 Binary files a/Source/Images/fd0/u0/WSCHANGE.OVR and /dev/null differ diff --git a/Source/Images/fd0/u0/WSCHHELP.OVR b/Source/Images/fd0/u0/WSCHHELP.OVR deleted file mode 100644 index 49becf77..00000000 Binary files a/Source/Images/fd0/u0/WSCHHELP.OVR and /dev/null differ diff --git a/Source/Images/fd0/u0/WSMSGS.OVR b/Source/Images/fd0/u0/WSMSGS.OVR deleted file mode 100644 index 84625d8e..00000000 Binary files a/Source/Images/fd0/u0/WSMSGS.OVR and /dev/null differ diff --git a/Source/Images/fd0/u0/WSPRINT.OVR b/Source/Images/fd0/u0/WSPRINT.OVR deleted file mode 100644 index 83bef6ea..00000000 Binary files a/Source/Images/fd0/u0/WSPRINT.OVR and /dev/null differ diff --git a/Source/Images/fd0/u0/WSREADME.TXT b/Source/Images/fd0/u0/WSREADME.TXT deleted file mode 100644 index 7a75b22c..00000000 --- a/Source/Images/fd0/u0/WSREADME.TXT +++ /dev/null @@ -1,880 +0,0 @@ - --THE README FILE-- - ------------------------ - -README contains late-breaking news and tips about WordStar, -and information about printers. - - -THE DISKS THAT CAME IN YOUR PACKAGE ------------------------------------ - -The file HOMONYMS.TXT is included on the Speller disk -contrary to what is listed in Appendix D. - - -INSTALLATION ------------- - -WINSTALL and WSCHANGE - - WordStar has two installation programs: - - o WINSTALL contains the basic choices to install WordStar. - It is recommended for all users. - - Be sure and install your valid disk drives since WordStar - running under CP/M cannot recover from attempts to access non- - existent disk drives. - - o WSCHANGE contains every installation and customization - choice. It is designed for advanced users and users who - want to customize WordStar after they're familiar with it. - Use the menu listing below for a directory of the menus - in WSCHANGE. - -Directory of WSCHANGE Menus - - The chart below shows the organization of menus in WSCHANGE. - Print it out and refer to it as you customize WordStar. - - Main Installation Menu - - A Console - A Monitor - A Monitor selection - B Monitor name - C Screen sizing - B Function keys - C Monitor patches - A Special characters - B Cursor control - C Screen control - D Keyboard patches - A Function keys - B Save function keys - E Interface patches - A Console busy handshaking - B Special I/O subroutines - B Printer - A Printer choices - A Printer selection - B Printer name - C Default printer driver - B Printer driver library - A Select library file - B Create smaller library - C Add new printer driver - D Change printer driver data - C WS printer patches - A Custom print controls, printer initialization - - NOTE: Disregard the "CUSTOM & SIMPLE Controls Save CUSTOM/SIMPLE - Controls" option shown. This is not available from this menu. - - D Printing defaults - E Printer interface - A Printer port selection - B Printer busy handshaking - C Printer subroutines - C Computer - A Disk drives - A Valid disk drives - B Maximum valid user number - C Delay disk access if typing - B Operating system - A Single-user system - B Multi-user MP/M - C Multi-user Turbo DOS - D ZCPR3 - C Memory usage - D WordStar files - E Directory display - F Computer patches - D WordStar - A Page layout - A Page sizing & margins - B Headers & footers - C Tabs - B Editing settings - A Edit screen & help level - B Typing - C Paragraph alignment - D Blocks - E Erase & unerase - F Lines & characters - G Find & replace - H WordStar 3.3 compatibility - I Printing defaults - C Other features - A Spelling checks - B Nondocument mode - C Indexing - D Shorthand (key macros) - E Merge printing - F Miscellaneous - E Patching - A Auto patcher - B Save settings - C Reset all settings - -MEMORY USAGE ------------- - - WordStar requires a minimum TPA size of 50 kbytes to run - using the factory defaults. The TPA is the amount of memory - available in your computer for use by programs that have a - file type of COM. To see how big the TPA is in your computer, - press the question mark key (?) at the Opening Menu. - - The amount of memory required by WordStar can be reduced by - approximately 3 kbytes if necessary. Use the WSCHANGE program - to select the minimum memory configuration option. The menu - will show you what capabilities are being reduced. - - WordStar uses a general-purpose buffer for a variety of - tasks. WordStar allocates memory to this buffer for editing, - for merge printing, and at the Opening Menu (see BFSIZE in - PATCH.LST). The buffer used for editing is usually the most - sensitive to a reduced TPA size. (You may be able to use the - Opening Menu and print, but there may be insufficient memory - for editing.) - - The merge print buffer is used only to hold merge print - variable names and data. Increase it if you run out of memory - while merge printing. - - The Opening Menu buffer is used primarily to hold the file - directory, and for miscellaneous tasks. - - -LOW-MEMORY INDICATOR IN STATUS LINE ------------------------------------ - - If the Low-Memory indicator appears in the status line, it - means that WordStar was unable to complete some function. - The most common symptoms are: the line number in the - status line is wrong, or a paragraph alignment could not be - completed. You may correct the line counter by saving your - file, exiting WordStar, and re-loading your file. To correct - the paragraph alignment, move your cursor to the point where - paragraph alignment stopped, and then press ^B again. - - The reason this comes up is that WordStar was not able to fit - a big enough chunk of text into memory at one time. - - When you first begin editing, WordStar uses the value from - EDSIZE in the user area to determine the minimum amount - of memory required for a page of text. The default - is set for approximately a 55 line by 66 column page. If - your page size is routinely larger than this, you may want - to increase EDSIZE. Multiply the number of lines by the - number of columns, and divide by 128. - - If the Low-Memory indicator comes on while printing, it is due - to either the same reasons as for editing, or there is - insufficient memory to print the text proportionally spaced. - The amount of memory required depends on which printer - driver you are using. If you aren't using the .PS ON dot - command to turn proportional spacing on in your document, - low memory won't be a problem. Also, WordStar uses more - memory for merge printing than it does for regular printing - (around 2.5 kbytes more). - - The Low-Memory indicator will also appear when a full disk error - is encountered during editing. Treat the disk-full error as you - would normally. - - -RAM-RESIDENT PROGRAMS ---------------------- - - RAM-resident programs, such as SmartKey, reduce the amount of - working memory (TPA) that WordStar can use. The new features in - WordStar, such as shorthand, may reduce the need for these - RAM-resident programs, thus freeing memory for WordStar. - - -ZCPR3 SUPPORT -------------- - - In order to enable the ZCPR facilities within WordStar, the user - must use the Z3INS utility provided with ZCPR to install the - address of the ZCPR "environment" into WordStar. The environment - contains information that WordStar uses to support ZCPR-specific - functions. - - Generally, the user should log onto the drive containing the file - WS.COM, and issue the command: - - Z3INS SYS.ENV WS.COM - - The user should also run either WINSTALL or WSCHANGE to further - install WordStar for ZCPR. However, this is not mandatory because - the only thing that happens is that the WordStar sign-on says - "ZCPR3," and the LGLUSR location in the user area is changed for a - maximum user number of 31. (The normal default for LGLUSR is 15.) - - Once the user has installed WordStar for use with ZCPR, the user - will be able to use the following ZCPR features: - - - A named directory may be used when logging onto a new drive/user. - - - A named directory may be used instead of a drive/user as part - of any file name. - - - The drive/user always appears above file directories. (For CP/M - only the drive letter is shown if the user number is zero.) - - - The directory name also appears above the directory if one has - been defined for the currently logged drive/user. - - - If WordStar does not find its OVR files on the current drive and - user, it will search the drives and user numbers in the ZCPR - search path rather than using its standard search pattern. - - - WordStar installs itself as a ZCPR "shell" process which lets the - user enter any legal ZCPR command when running a program. (CP/M - can only run programs that are COM files.) - - -OSBORNE USERS -------------- - - The command to change a hard carriage return to a soft carriage - return (document mode) or to turn Auto-indent ON (nondocument - mode) does not function on the Osborne because of a limitation - in its BIOS. The following patch can be applied to change the - command from ^^ to ^- (Ctrl-Hyphen): - - Using DDT or SID in the file WSMSGS.OVR: - - At 02DA replace 1E with a 1D - At 02EF replace 1E with a 1D - At 0359 replace 1E with a 1D - At 06B2 replace 1E with a 1D - At 06C9 replace 1E with a 1D - - At the system prompt type SAVE 53 WSMSGS.OVR - - For more information on how to use SID or DDT, see your CP/M - reference guide. As always, be sure and apply the patch to a - COPY of the file. - - -INSTRUCTIONS FOR TWO FLOPPY DISK COMPUTERS ------------------------------------------- - - Do not remove the Program disk while you are using WordStar. - - The Printer Driver Library file (WSPRINT.OVR) on the WordStar - program disk is much smaller than the Printer Driver Library - file contained on the disk labeled PRINTER. Be sure to read the - section in "Starting" that discusses the printer library file. - - -RUN A PROGRAM -------------- - - Once you press R you can type the drive and user number for the - program you want to run. You may run only .COM files. CCP commands, - such as DIR cannot be used. - - -INDEXING --------- - -Using StarIndex - - StarIndex 1.01 works with files created with this release of - WordStar. - -"Can't Use That Printer" Message - - When WordStar creates an index or table of contents, it uses - the printer drivers $INDEX and $TOC. If you created a smaller - WSPRINT.OVR file, you may have left these drivers out. To - return them to the file, copy the original WSPRINT.OVR file - onto your disk. When you create a smaller file again, be sure - to save these drivers. See Appendix C in the WordStar manual - for a list of other drivers to save. - - -SPELL CHECKING --------------- - - Dual floppy disk users: - - Unless you have sufficient room on your working WordStar program - disk for the files TW.COM, SPELL.COM, MARKFIX.COM, REVIEW.COM and - MAINDICT.CMP you will not be able to run a spell check from the - Opening Menu. You will need to exit WordStar and replace the - working WordStar program disk with the dictionary disk you created - during installation. This disk should contain the files listed - above. Make sure the disk in drive B has the file you want to - spell-check. - - Follow the directions for running a spell check in The WORD Plus - manual. - - -UPGRADING FROM A PREVIOUS RELEASE ---------------------------------- - - This release of WordStar contains many new features and commands. - See the "What's New" booklet for a complete list. The following - changes came in too late to be included in the documentation. - -Printer Patches - - Previous versions of WordStar treat most dot matrix printers - and other non-daisy wheel printers as a DRAFT printer with a - few patchable items. Because of this, many users have used - these patches to be able to use certain features of their - printers. Sometimes the patches have been quite extensive, and - some users have many files that count on them. - - The printer drivers of WordStar Release 4, on the other hand, - are very powerful. Almost every driver recognizes all the print - controls and all the dot commands. In fact, if a document is - written to be printed on one kind of printer, it is likely that - it will also print fine on some other printer. - - However, if you want to use your existing files with WordStar - 4, and those files rely on the user area being patched in a - special way, you can probably do so by moving the patches into - WordStar 4, and using the CUSTOM or SIMPLE printer driver. - - On the INSTALL disk is a program called MOVEPRN.COM that - copies the printer driver portion of the previous release's - user area into files that can be installed into Release 4 with - the "auto patcher" feature. - - Copy the program MOVEPRN.COM onto the disk containing the - WS.COM file for the previous version. Type - - MOVEPRN WS.COM FILE1.PAT FILE2.PAT - - MOVEPRN extracts the proper portions of the user area and - writes them into two files that may then be used with the "auto - patcher" feature of WSCHANGE. - - FILE1.PAT is to be used with the general patching menu - (Choose E "Patching" on the WSCHANGE Main Menu, then A "Auto - Patcher"). FILE2.PAT should be used to install strings first - into the SIMPLE driver, and then into the CUSTOM driver (choose - B "Printer" on the WSCHANGE Main Menu, then B "Printer driver - library", D "Change printer driver data" and D "Driver auto - patcher"). - - Test print your document first with the SIMPLE driver, and then - with the CUSTOM driver to see which one produces the most - satisfactory results. - - Also read Appendix C for more information on using the Auto - Patcher. - - -Hanging Indents - - For WordStar Professional Release 4, MailMerge reformats indented - text created with ^OG to the current margins. If you want the text - to remain indented, use embedded ruler lines or the .RM, .LM, - and .PM commands. See the "Reference Guide" for more information. - - Pressing ^OG to wrap back to the first tab on the ruler line after - having reached the last tab works the same way it did in previous - versions of WordStar, contrary to what is stated in the manual. - - -TERMINALS ---------- - - WordStar comes installed for an "idealized" special terminal. - WINSTALL and WSCHANGE allow you to install many terminals by - name, thus allowing WordStar to take advantage of the special - features that the terminal might support, such as underlining - or the function keys. - - Use either WINSTALL or WSCHANGE to pick your specific terminal - or computer screen from the Monitor menu. If your terminal - isn't on the menu, it probably emulates one of those that is - there. Look in your terminal documentation to find out. - - After you install WordStar for the proper terminal, run - WordStar and open the file PRINT.TST to see which attributes - (such as bold and underline) work on your screen. - WordStar will highlight the following in some way... - - Bold (^PB) - Underline (^PS) - Strike-out (^PX) - Subscript (^PV) - Superscript (^PT) - Doublestrike (^PD) - Italics (^PY) - Blocks (^KB, ^KK) - Error messages - - Most of the time, normal text will be shown in dim intensity, - and highlighted text will be shown in bright intensity. You - may have to use a brightness and/or contrast knob to adjust - your screen the first time you use WordStar this way. - - If your dim intensity is too dim to see well, and you can't - adjust it, you can change the BRITE flag to ON using WSCHANGE. - This will invert bright and dim in your text, so that regular - text is displayed bright, and highlighted text will be - displayed as dim. However, text in the menus is not affected. - - -DISPLAY PROBLEMS WITH TERMINALS -------------------------------- - - Once you have installed WordStar for the proper terminal, you - may still experience display problems. - - If text from the previous screen remains after WordStar - displays a new screenful of text, the most likely cause is - cursor wrap. Basically, WordStar must know what happens to the - cursor when a character is displayed at the rightmost position - of the screen. It can either remain at the right edge, or it - can wrap to the beginning of the next line. The WRAP flag in - WordStar must be set either on or off to correspond to the - way the terminal works. (It is generally set for the - terminal's factory default, but the default can usually be - changed using the terminal's setup mode.) - - Another possible cause for display problems is your terminal's - incomplete emulation of some other terminal. The most - common differences are... - - Line insert (LININS), line delete (LINDEL), - Erase to end of screen (ERAEOS), - Erase to end of line (ERAEOL), - And, erase screen (ERASCR). - - Look in the manual for your terminal and use WSCHANGE to see - if the control sequences match. - - -PRINTERS --------- - -WHAT'S IN THIS SECTION - - This section contains the following information: - - Choosing a Printer - Setting Up Your Printer - Printer Drivers - Proportional Printing - Laser Printers - Information on Specific Printers - -CHOOSING A PRINTER - - WordStar is ready to work with over 100 printers. The printer you - choose during installation becomes your default printer. However, - when you print a document, you can choose any other printer. To - choose a default printer, follow these steps: - - 1. Look at the Printer Information brochure that came in your - package. The first chart shows the printers listed on the - Printer Selection Menus. If your printer is on the menu, - simply choose it during installation. - - 2. If your printer isn't listed on the menu, it may work like a - printer that is. Refer to the second chart in the Printer - Information brochure for a list of printers that work like - printers on the menu. When WordStar asks you to choose a - printer, choose the printer that works like yours. - - 3. If neither chart lists your printer, choose Typewriter Printer - (if your printer can backspace) or Draft Printer (if it can't). - These choices may not take advantage of all your printer's - features, but they will work with almost any printer. - - Note: If you choose Draft or Typewriter, you can modify custom - print controls and printer initialization. - - If you want to make more modifications to take advantage of your - printer's feature, choose the Custom or Simple drivers, then use - the WS Printer Patches section of WSCHANGE to tell WordStar the - codes for your printer. Refer to your printer manual for these - codes. Some printers work better with the Custom driver and some - with the Simple driver. Try using both and see which works better - with your printer. See the "Reference Guide" for more information. - -SETTING UP YOUR PRINTER - -Choosing a Printer Port - - Each printer is connected to a printer port at the back of - the computer. WordStar looks for printers on the LST: port. - If your printer is connected to a different port, use - WSCHANGE to tell WordStar the correct port. - -Testing Your Printer Connection - - At the operating system prompt, type "PIP LST:=READ.ME." This - file should be printed by your printer. If it is not, your printer - may be connected to a different port. See your computer reference - manual, and the section on the STAT command in your CP/M - reference manual for more information. - - -PRINTER DRIVERS - - The WSPRINT.OVR file on the Printers disk contains a printer - driver for each printer on the Printer Selection Menu. The printer - driver for a printer contains all the codes WordStar needs to work - with that printer. - - Each printer driver has a short name. If you choose a printer when - you print a document, you see the names of the printer drivers, not - the names of the printers. - -PROPORTIONAL PRINTING - - WordStar supports proportional printing on a number of printers. - To turn on proportional printing, either install WordStar to - default to proportional printing, or place a ".PS on" command - in your document. At print time, WordStar selects the - appropriate proportional font based on the character width - (.CW) currently in effect. - - The specific printer descriptions later in this section show - recommended character widths for proportional typefaces. - These widths are for a normal mix of upper- and lowercase - letters. If you have many words or phrases all in uppercase - or if you want your text less densely printed, choose a larger - character width. - - While WordStar mostly sets character widths based on the - proportional-width table in the driver, on the more advanced - daisy wheel printers, WordStar uses the printer's proportional- - spacing mode. WordStar determines how much white space is needed - to right-justify the line based on its own proportional width - tables. If the table values don't match the wheel installed, - WordStar won't be able to justify the line correctly. - - WordStar sends standard ASCII characters; if a proportional wheel - uses a different spoke mapping, set up the printer to handle this. - -LASER PRINTERS - - WordStar supports laser printer features such as font changes - and proportional spacing. - - WordStar supports several laser printers: the Canon LPB-8 A1 & A2; - the Hewlett-Packard LaserJet, LaserJet+, and LaserJet 500+; - and the Ricoh LP4080. Refer to the "Specific Printer - Information" section of this file for information on these - printers. General notes about using laser printers are given below. - -Paper Size and Margins - - Laser printers come with preset page margins. You need to - compensate for these margins by changing page length in your - WordStar documents. The chart below shows the recommended - settings for 8 1/2 X 11 inch paper for both portrait and landscape - orientations. These settings allow 55 lines of text for portrait - orientation and 40 lines of text for landscape orientation (at 6 - lines per inch). They also allow for a footer of up to 3 lines - and a one-line header. If you use multiple-line headers, adjust - the top margin accordingly. - - Dot Default Portrait Landscape - Setting Command Value Orientation Orientation - ------- ------- ------- ----------- ----------- - page length .PL 66 62 47 - top margin .MT 3 2 2 - bottom margin .MB 8 5 5 - header margin .HM 2 1 1 - footer margin .FM 2 2 2 - - If the laser printer is your primary printer, you can use WSCHANGE - to make these settings the defaults. - - Because laser printers leave small margins at the left and right - sides of the page, you may want to use a smaller page offset - setting (the default is .PO 8). - -Form Feeds - - When you print with a laser printer, answer Y for yes to the "Use - form feeds (Y/N)?" prompt at print time. (The default is NO.) If - the laser printer is your primary printer, you can use WSCHANGE to - change the default to yes. - -WordStar Commands for Font Selection - - The WordStar dot commands and print control commands listed below - determine the fonts used for printing a document. - - .PR .PR OR=L selects landscape orientation; .PR OR=P (or just - .PR OR) selects portrait orientation (the default). If - either of these commands appears after the first printing - line on a page, the orientation will not change until the - following page. - - .PS .PS ON selects proportionally spaced characters; .PS OFF - (the default) selects fixed-spaced characters. - - .CW The character-width setting (.CW followed by the width in - 120ths of an inch) determines the character pitch and font - selected for fixed-width printing. For proportional fonts, it - determines the point size and proportional-width table - selected. - - .LQ .LQ ON selects near letter quality print (if supported by - your printer). LQ OFF selects draft quality print. Default - is ON. - - ^PY The italic print control toggles between normal and italic - characters when the appropriate italic font is available. - - ^PB The boldface print control toggles between normal and bold - characters when the appropriate bold font is available. - - ^PD The double strike print control used with the laser printers - toggles overprinting with a horizontal offset of 1/120" - between the two character images. This allows a bold effect - where no bold font is available. - - ^PA ^PA turns alternate pitch on. Use .CW to assign different - character widths to normal pitch (see ^PN below) and alternate - pitch so that each pitch accesses a different font. You can - then change fonts by switching between the two pitches. This - is the only way to use two fonts on the same line. - (See "Character width" and "Pitch" in the "Reference Guide.") - - ^PN ^PN turns normal pitch on. You can use it with ^PA as - described above. - - ^P@ When working with columns, if you use alternate and normal - pitch for two fonts, or if you use proportional spacing, you - may need to use ^P@ to make sure the columns line up. - Remember that the column position set with ^P@ is determined - by the normal pitch character width. (See "Columns" and - "Proportional spacing" in the "Reference Guide." - -INFORMATION ON SPECIFIC PRINTERS - - This section describes the capabilities of each printer listed on - the Printer Selection Menu. The printers are listed in alphabetical - order (except for the generic printers such as "Draft," - "Typewriter," "Custom," "Simple," and the various print-to-disk - options, which are listed first). - - There is a chart for each printer explaining how features work and - listing any special notes about the printer. Each printer is - described in the following format: - -PRINTER NAME ----- Driver: (short name) - - ^PY Effect of italics/ribbon color print control - ^PT/V Subscript/superscript information - .CW Information on available character widths and fonts. The - chart shows the .CW, .LQ, and .PS settings required to use - different fonts. - - .LQ OFF .LQ ON .PS ON Font Name - ------- ------ ------ --------- - .cw val .cw val recommended value (range) font 1 - .cw val .cw val recommended value (range) font 2 - - .UL Continuous-underline information (if restrictions) - .UJ Microspace-justification information (if restrictions) - - N/A means a command has no effect on this printer. - - NOTES Switch settings, special features, anomalies. - -DRAFT PRINTER (nonbackspacing) ----- Driver: DRAFT - - ^PD Overprints the line twice - ^PB Overprints the line three times - ^PS Overprints the underscore character in a separate pass - ^PT/V Prints super/subscripts with a full line between - super/subscript and text - .LH Sets line height only in multiples of full lines - .CW N/A - .PS N/A - .LQ N/A - .UJ N/A - - NOTES This driver works with any printer that doesn't automatically - perform a line feed when it receives a carriage return command. All - overprinting is done by returning the carriage and passing over the - line again. - -TYPEWRITER PRINTER (backspacing) ----- Driver: TYPEWR - - ^PD Backspaces and overprints each character twice - ^PB Backspaces and overprints each character three times - ^PS Backspaces and overprints the underscore character - ^PT/V Prints super/subscripts with a full line between - super/subscript and text - .LH Sets line height only in multiples of full lines - .CW N/A - .PS N/A - .LQ N/A - .UJ N/A - - NOTES This driver works with any printer that doesn't automatically - perform a line feed when a it receives a carriage return command, - and responds to a backspace character. Overprinting is done by - backspacing. - -AUTO LINE FEED PRINTER (backspacing) ----- Driver: AUTOLF - - ^PD Backspaces and overprints each character twice - ^PB Backspaces and overprints each character three times - ^PS Backspaces and overprints the underscore character - ^PT/V Prints super/subscripts with a full line between - super/subscript and text - .LH Sets line height only in multiples of full lines - .CW N/A - .PS N/A - .LQ N/A - .UJ N/A - - NOTES This driver works with any printer that automatically - performs a line feed when it receives a carriage return character, - and responds to a backspace command. Overprinting is done by - backspacing. - -SIMPLE CUSTOMIZABLE PRINTERS ----- Driver: SIMPLE - - All print controls cause control strings (on and off) in - the user area to be sent to the printer. These strings - are used by both the SIMPLE and CUSTOM drivers. They can - be installed with the WSCHANGE program. - - .LQ Controlled by user area strings - .PS Controlled by user area strings - .CW N/A - .UJ N/A - .LH N/A - - NOTES This printer driver prints the line in one pass, sending - control strings from the user area to select print enhancements. - -CUSTOMIZABLE PRINTERS ----- Driver: CUSTOM - - All print controls cause control strings (on and off) in - the user area to be sent to the printer. These strings - are used by both the SIMPLE and CUSTOM drivers. They can - be installed with the WSCHANGE program. - - .LQ ON/OFF controlled by user area strings - .PS ON/OFF controlled by user area strings - .LH Sets line height only in multiples of full lines - .UJ N/A - .CW N/A - - NOTES This driver prints the line in multiple passes, sending - control strings from the user area to select print enhancements. - -PREVIEW TO DISK ----- Driver: PRVIEW - - This driver prints documents to the PREVIEW.WS file to allow - you to preview the format and appearance of a document before - printing. Headers, footers, and pagination are shown correctly - and print controls remain in the file to display onscreen - attributes. Dot commands are not printed. - -PRINT TO DISK WITHOUT PRINT CONTROLS ----- Driver: ASCII - - This driver prints to the ASCII.WS file, stripping headers and - footers, high bits, and print controls. - -PRINT TO DISK WITHOUT HEADERS AND FOOTERS ----- Driver: XTRACT - - This driver prints to the XTRACT.WS disk file, stripping headers - and footers, but preserving high bits and print controls. - -ANADEX 9500A, 9500B ----- Driver: 9500 - - ^PY N/A - ^PT/V Even superscript roll - - .CW .CW Font name - --- --------- - 9 13.3 cpi - 10 12 cpi - 12 10 cpi - 18 6.7 cpi - 20 6 cpi - 24 5 cpi - - .LH 1/24" resolution, use even values - .UJ This printer has no incremental horizontal positioning - .PS N/A - .LQ N/A - -ANADEX 9501B, INTEQ 5100B ----- Driver: 9501B - - ^PY N/A - ^PT/V Even superscript roll - - .CW .CW Font name - --- --------- - 7 16.7 cpi - 8 15 cpi - 10 12.5 cpi - 12 10 cpi - 14 8.3 cpi - 16 7.5 cpi - 20 6.2 cpi - 24 5 cpi - - .LH 1/24" resolution, use even values - .UJ This printer has no incremental horizontal positioning - .PS N/A - .LQ N/A - -C. ITOH STARWRITER 1550 AND 8510 ----- Driver: C1550 - - ^PY N/A - ^PT/V Prints full-size characters with roll - - .CW .CW Font Name - --- --------- - 7 compressed - 10 elite - 12 pica - 14 expanded compressed - 20 expanded elite - 24 expanded pica - - .LQ N/A - .PS N/A - .UL Continuous underlining suppresses microspace justification - -C. ITOH F10 STARWRITER ----- Driver: QUME - - See Diablo 630, 1610, 1620 Daisy Wheel. - - Note: Proportional printing was tested with a Theme 10 wheel. - -CANON LBP-8A1 AND LBP-8A2 LASER PRINTER ----- Driver: LBP8 - - ^PY Selects italics if appropriate font installed - ^PT/V Prints full-size characters with roll - .PS .PS - .CW OFF ON Font Name - --- -- --------- - 6 - 20 cpi - 8 - 15 cpi - 9 - 13.3 cpi - 10 - 12 cpi (elite) - 12 - 10 cpi - 20 - 6 cpi - 24 - 5 cpi - 16 - 7.5 cpi - - 7 (0-8) Garland 8 point - - 10 (9-11) Garland 12 point - - 14 (12-17) Expanded 8 point - - 20 (18-30) Expand \ No newline at end of file diff --git a/Source/Images/fd0/u0/WSSHORT.OVR b/Source/Images/fd0/u0/WSSHORT.OVR deleted file mode 100644 index b44f1480..00000000 Binary files a/Source/Images/fd0/u0/WSSHORT.OVR and /dev/null differ diff --git a/Source/Images/fd0/u0/WSU.COM b/Source/Images/fd0/u0/WSU.COM deleted file mode 100644 index 39830fdf..00000000 Binary files a/Source/Images/fd0/u0/WSU.COM and /dev/null differ diff --git a/Source/Images/fd1/u0/STAMPS.DAT b/Source/Images/fd1/u0/STAMPS.DAT deleted file mode 100644 index 23cd9bd7..00000000 Binary files a/Source/Images/fd1/u0/STAMPS.DAT and /dev/null differ diff --git a/Source/Images/hd0/s0/u0/DIF.COM b/Source/Images/hd0/s0/u0/DIF.COM deleted file mode 100644 index 87b89d75..00000000 Binary files a/Source/Images/hd0/s0/u0/DIF.COM and /dev/null differ diff --git a/Source/Images/hd0/s0/u0/SID.COM b/Source/Images/hd0/s0/u0/SID.COM deleted file mode 100644 index 3b073ba5..00000000 Binary files a/Source/Images/hd0/s0/u0/SID.COM and /dev/null differ diff --git a/Source/Images/hd0/s0/u0/VIDATT.Z80 b/Source/Images/hd0/s0/u0/VIDATT.Z80 deleted file mode 100644 index 073bb84f..00000000 --- a/Source/Images/hd0/s0/u0/VIDATT.Z80 +++ /dev/null @@ -1,69 +0,0 @@ - title WordStar 4.0 Video Attributes Driver - -strngout equ 0283h - -esc equ 1bh -dim equ 1 -blink equ 2 -invert equ 4 -uline equ 8 - - aseg - org 03c1h - -vidatt: - xor a - ld hl,funtbl - ld b,8 -getloop: - rr c - jr nc,getnext - or a,(hl) -getnext: - inc hl - djnz getloop -; - ld hl,string+2 ; attribute #1 on/off indicator - push hl - ld b,4 - ld de,'?!' ; ? = attribute off, ! = attribute on -setloop: - rra - jr nc,attroff - ld (hl),e ; attribute on - jr setnext -attroff: - ld (hl),d ; attribute off -setnext: - inc hl - inc hl - inc hl ; advance to next on/off indicator - djnz setloop -; - pop hl ; hl --> dim on/off - ld a,d ; attribute off - cp (hl) ; dim off? - jr nz,setdim - ld a,e ; attribute on -setdim: - ld (hl),a - ld hl,string - jp strngout ; ws string routine -; -; -funtbl: - defb dim ; strike out - defb invert or blink ; warnings & errors - defb invert ; block - defb uline ; underline - defb blink ; subscript - defb blink or uline ; superscript - defb invert ; menu, headline, bold, double - defb invert or uline ; italics, RET, backspace -; -string: - defb 12,esc,' 2',esc,' 3',esc,' 4',esc,' 5' -; -finis equ $ - end - \ No newline at end of file diff --git a/Source/Images/hd0/s0/u0/initdir.com b/Source/Images/hd0/s0/u0/initdir.com deleted file mode 100644 index fd46387a..00000000 Binary files a/Source/Images/hd0/s0/u0/initdir.com and /dev/null differ diff --git a/Source/Images/hd0/s0/u0/path.com b/Source/Images/hd0/s0/u0/path.com deleted file mode 100644 index 5c0aa503..00000000 Binary files a/Source/Images/hd0/s0/u0/path.com and /dev/null differ diff --git a/Source/Images/hd0/s0/u0/putds.com b/Source/Images/hd0/s0/u0/putds.com deleted file mode 100644 index c0ceba64..00000000 Binary files a/Source/Images/hd0/s0/u0/putds.com and /dev/null differ diff --git a/Source/Images/hd0/s0/u0/zsconfig.com b/Source/Images/hd0/s0/u0/zsconfig.com deleted file mode 100644 index 2cc26074..00000000 Binary files a/Source/Images/hd0/s0/u0/zsconfig.com and /dev/null differ diff --git a/Source/Images/hd0/s0/u14/initdir.cfg b/Source/Images/hd0/s0/u14/initdir.cfg deleted file mode 100644 index 96baa986..00000000 Binary files a/Source/Images/hd0/s0/u14/initdir.cfg and /dev/null differ diff --git a/Source/Images/hd0/s0/u14/zxd.cfg b/Source/Images/hd0/s0/u14/zxd.cfg deleted file mode 100644 index f202ae59..00000000 Binary files a/Source/Images/hd0/s0/u14/zxd.cfg and /dev/null differ diff --git a/Source/Images/hd0/s0/u2/WSHELP.OVR b/Source/Images/hd0/s0/u2/WSHELP.OVR deleted file mode 100644 index 02634675..00000000 Binary files a/Source/Images/hd0/s0/u2/WSHELP.OVR and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/COPY.COM b/Source/Images/hd0/s1/u0/COPY.COM deleted file mode 100644 index 87c0c2fb..00000000 Binary files a/Source/Images/hd0/s1/u0/COPY.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/DATSWEEP.COM b/Source/Images/hd0/s1/u0/DATSWEEP.COM deleted file mode 100644 index 5d298c0b..00000000 Binary files a/Source/Images/hd0/s1/u0/DATSWEEP.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/DIF.COM b/Source/Images/hd0/s1/u0/DIF.COM deleted file mode 100644 index 87b89d75..00000000 Binary files a/Source/Images/hd0/s1/u0/DIF.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/DSCONFIG.COM b/Source/Images/hd0/s1/u0/DSCONFIG.COM deleted file mode 100644 index b77dd008..00000000 Binary files a/Source/Images/hd0/s1/u0/DSCONFIG.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/FA16.CFG b/Source/Images/hd0/s1/u0/FA16.CFG deleted file mode 100644 index b7974d36..00000000 Binary files a/Source/Images/hd0/s1/u0/FA16.CFG and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/FILEATTR.COM b/Source/Images/hd0/s1/u0/FILEATTR.COM deleted file mode 100644 index 4527d090..00000000 Binary files a/Source/Images/hd0/s1/u0/FILEATTR.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/FILEDATE.CFG b/Source/Images/hd0/s1/u0/FILEDATE.CFG deleted file mode 100644 index da1ca45f..00000000 Binary files a/Source/Images/hd0/s1/u0/FILEDATE.CFG and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/FILEDATE.COM b/Source/Images/hd0/s1/u0/FILEDATE.COM deleted file mode 100644 index 11b83616..00000000 Binary files a/Source/Images/hd0/s1/u0/FILEDATE.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/LDDS.COM b/Source/Images/hd0/s1/u0/LDDS.COM deleted file mode 100644 index 9be1d4a4..00000000 Binary files a/Source/Images/hd0/s1/u0/LDDS.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/RELOG.COM b/Source/Images/hd0/s1/u0/RELOG.COM deleted file mode 100644 index 13ffc62e..00000000 Binary files a/Source/Images/hd0/s1/u0/RELOG.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/SETTERM.COM b/Source/Images/hd0/s1/u0/SETTERM.COM deleted file mode 100644 index eca19bf9..00000000 Binary files a/Source/Images/hd0/s1/u0/SETTERM.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/SETUPZST.COM b/Source/Images/hd0/s1/u0/SETUPZST.COM deleted file mode 100644 index 35e4b589..00000000 Binary files a/Source/Images/hd0/s1/u0/SETUPZST.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/SID.COM b/Source/Images/hd0/s1/u0/SID.COM deleted file mode 100644 index 3b073ba5..00000000 Binary files a/Source/Images/hd0/s1/u0/SID.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/SUPERSUB.COM b/Source/Images/hd0/s1/u0/SUPERSUB.COM deleted file mode 100644 index a25d60a6..00000000 Binary files a/Source/Images/hd0/s1/u0/SUPERSUB.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/TD.CFG b/Source/Images/hd0/s1/u0/TD.CFG deleted file mode 100644 index ab44bab9..00000000 Binary files a/Source/Images/hd0/s1/u0/TD.CFG and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/TD.COM b/Source/Images/hd0/s1/u0/TD.COM deleted file mode 100644 index 552aba67..00000000 Binary files a/Source/Images/hd0/s1/u0/TD.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/TERMBASE.DAT b/Source/Images/hd0/s1/u0/TERMBASE.DAT deleted file mode 100644 index 358d61c0..00000000 Binary files a/Source/Images/hd0/s1/u0/TERMBASE.DAT and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/TESTCLOK.COM b/Source/Images/hd0/s1/u0/TESTCLOK.COM deleted file mode 100644 index d547e2b8..00000000 Binary files a/Source/Images/hd0/s1/u0/TESTCLOK.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/ZCAL.COM b/Source/Images/hd0/s1/u0/ZCAL.COM deleted file mode 100644 index f239e952..00000000 Binary files a/Source/Images/hd0/s1/u0/ZCAL.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/ZDE40.COM b/Source/Images/hd0/s1/u0/ZDE40.COM deleted file mode 100644 index 6a2d37de..00000000 Binary files a/Source/Images/hd0/s1/u0/ZDE40.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/ZSVSTAMP.COM b/Source/Images/hd0/s1/u0/ZSVSTAMP.COM deleted file mode 100644 index 026d5d7a..00000000 Binary files a/Source/Images/hd0/s1/u0/ZSVSTAMP.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/ZSVSTAMP.DOC b/Source/Images/hd0/s1/u0/ZSVSTAMP.DOC deleted file mode 100644 index 2a8a7c1e..00000000 --- a/Source/Images/hd0/s1/u0/ZSVSTAMP.DOC +++ /dev/null @@ -1,118 +0,0 @@ - ZSVSTAMP USAGE NOTES - - - -1.0 INTRODUCTION - - ZSVSTAMP is a utility program that saves the create -date/time stamp of a given file in memory. At a later time, -ZSVSTAMP can restore the create stamp to a file. This can be -useful when modifying a file with an editor that actually creates -a new copy of the file rather than modifying it in place. -ZSVSTAMP allows the original creation date of the document to be -retained. - - In order to support all types of date stamping under ZSDOS, -ZSVSTAMP uses the get/set stamp functions of ZSDOS (or ZDDOS) and -thus may only be run under these operating systems. It also -requires ZCPR3 with multiple command line, external FCB and -message buffer. If an attempt is made to run ZSVSTAMP on a -system that does not meet these requirements, the program will -abort with an error message. - - - -2.0 OPERATION - - ZSVSTAMP has two modes of operation -- Manual and Automatic. - - - -2.1 Automatic Mode - - This mode is the most commonly used. It is extremely well -suited for use in alias scripts and can make the whole process of -saving and restoring date stamps virtually transparent to the -user. The syntax is: - - ZSVSTAMP approg [ufn] - -where "approg" is the program, such as an editor, that you wish -to run and "ufn" is an unambiguous file name to be modified by -"approg." When a command of this type is given, ZSVSTAMP saves -"ufn"'s creation date in protected memory. It then causes -"approg" to be run, and when "approg" finishes, ZSVSTAMP is -automatically run again to restore the original create stamp to -"ufn." If "ufn" does not exist, or if the disk does not support -date stamping, ZSVSTAMP displays a warning message and -immediately passes control to "approg" without attempting to save -a stamp. In this situation, ZSVSTAMP is not rerun when "approg" -completes execution. - - Some editors allow a syntax such as - - EDIT oldfile newfile - -When ZSVSTAMP is invoked with more than one parameter following -the application name, no stamps are saved or restored. This -feature can be disabled if desired, (see the section on -customization). - - - -2.2 Manual Mode - - Manual mode can be used to save or restore a file's create -stamp. The syntax is: - - ZSVSTAMP ufn /G or /S - -to Get or Save a file's create stamp, or: - - ZSVSTAMP ufn /P or /R - -to Put or Restore a saved stamp back onto a file. - - - -3.0 CUSTOMIZING ZSVSTAMP - -There are five configuration flags located near the beginning of -the program. Each flag is preceeded by an ASCII string to help -identify its function. These flags may be patched to customize -ZSVSTAMP as desired. - - The first four flags determine whether or not various -warning messages can be displayed when ZSVSTAMP is being run in -Automatic Mode. Setting a flag to 0 disables its associated -message; any other value enables the message. The flags are -labeled "NOSTMP," "NOFILE," "READERR," and "UPDTERR," and they -affect the "Disk has no time/date stamps," "File not found," -"Can't read time/date stamp," and "Can't update time/date stamp" -messages respectively. The program is distributed with all four -messages enabled. Please note that these flags have no effect in -Manual Mode where error messages are always enabled. - - The fifth and final configuration flag is labeled -"REPLALWS." It determines what ZSVSTAMP will do when more than -one parameter follows the application name in an Automatic Mode -command. If the byte following the "REPLALWS" label equals 0, -ZSVSTAMP checks to see if there is more than one parameter -following the application program name. If there is, ZSVSTAMP -simply exits to the application without saving or updating any -stamps. (This is the default setting in the distributed -version.) If the "REPLALWS" flag is non-zero, no such check is -made. - - - -4.0 CONTACTING THE AUTHOR - - Howard Goldstein may be contacted at: - - Newton Centre Z-Node, (Z-Node 3): 617/965-7259 - - Ladera Z-Node, (Z-Node 2): 213/670-9465 - - Home phone, (voice): 203/787-1918 - \ No newline at end of file diff --git a/Source/Images/hd0/s1/u0/ZXD.COM b/Source/Images/hd0/s1/u0/ZXD.COM deleted file mode 100644 index 20395673..00000000 Binary files a/Source/Images/hd0/s1/u0/ZXD.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s0/u0/COPYSYS.COM b/Source/Images/hd_cpm3/s0/u0/COPYSYS.COM deleted file mode 100644 index e7e9570b..00000000 Binary files a/Source/Images/hd_cpm3/s0/u0/COPYSYS.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s0/u0/CPMLDR.REL b/Source/Images/hd_cpm3/s0/u0/CPMLDR.REL deleted file mode 100644 index c41d8cfc..00000000 Binary files a/Source/Images/hd_cpm3/s0/u0/CPMLDR.REL and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/ANAGRAM.COM b/Source/Images/hd_cpm3/s1/u0/ANAGRAM.COM deleted file mode 100644 index 0579d843..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/ANAGRAM.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/CHAPTER2.DOC b/Source/Images/hd_cpm3/s1/u0/CHAPTER2.DOC deleted file mode 100644 index 883bf158..00000000 --- a/Source/Images/hd_cpm3/s1/u0/CHAPTER2.DOC +++ /dev/null @@ -1,2 +0,0 @@ -Thió ió chapteò 2. - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/CHAPTER3.DOC b/Source/Images/hd_cpm3/s1/u0/CHAPTER3.DOC deleted file mode 100644 index e65f09cc..00000000 --- a/Source/Images/hd_cpm3/s1/u0/CHAPTER3.DOC +++ /dev/null @@ -1,2 +0,0 @@ -Thió ió chapteò 3. - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/DIARY.DOC b/Source/Images/hd_cpm3/s1/u0/DIARY.DOC deleted file mode 100644 index cb3e9cb7..00000000 --- a/Source/Images/hd_cpm3/s1/u0/DIARY.DOC +++ /dev/null @@ -1,74 +0,0 @@ - Trið Diary - -Septembeò 10 - -Whaô  á wonderfuì citù Londoî is¡ We'vå beeî herå twï  dayó  anä -havå  beeî  literallù runninç froí onå touò  tï  another®   We'rå -prettù  exhausted¬ anä looë ferwarä tï explorinç á fe÷ sightó  oî -ouò own. - -Thió  morninç wå tooë á touò thaô begaî aô Trafalgaò Square®   Wå -tooë  thå  undergrounä (theiò worä foò subway©  froí  ouò  hotel® -We'vå  founä  thå  Londoî undergrounä tï bå á greaô  waù  tï  geô -arounä  anä  lesó  costlù thaî taxis® Wå haä  á  whirlwinä  touò -seeinç  Parliament¬  thå Toweò oæ London¬ Toweò Bridge¬  anä  thå -changinç  oæ thå guarä aô thå palace® Mosô impressivå  werå  thå -crowî jeweló iî thå Toweò oæ London. - -Wå  havå beiî tourinç sï mucè thaô thió afternoon¬ wå decideä  tï -dï  á  littlå  shopping®   Wå wenô tï onå  oæ  thå  worlä  famouó -departmenô  stores® Thå enormitù oæ thå placå waó  overwhelming® -Wå founä wå werå morå comfortablå shoppinç inthå smalleò shops® É -boughô á wooì scaræ anä á teá set. - -Hydå Parë ió walkinç distancå froí ouò hotel® Sï aô thå enä oæ á -hectiã day¬ wå decideä á strolì througè thå parë waó jusô whaô wå -needed®   Wå endeä uð sittinç oî á parë bencè foò abouô aî  hour® -Thå peoplå-watchinç waó fun® Alì thå classiã Englisè  characteró -passeä  beforå uó ­­ meî iî derbù ható anä piî  stripes¬  nannieó -pushinç babù carriages¬ anä bobbieó amonç them. - -Ouò  morninç  touò  guidå saiä nï visiô  tï  Londoî  ió  completå -withouô  teá  aô thå Ritú Hotel® Sï froí Hydå Park wå  walkeä  á -shorô distancå uð Picadillù anä haä á mosô memorablå testime® Iô -waó  reallù á smalì meal¬ witè hoô disheó beinç offereä witè  thå -usuaì farå oæ scones¬ cookies¬ anä cakes. - -Afteò sufficientlù stuffinç ourselveó aô teatime¬ wå walkeä á biô -more® Buô thå Londoî rusè houò goô tï uó sï wå decideä tï taëe iî -á moviå ratheò thaî trù tï geô bacë tï thå hotel® Somehow¬  I'vå -gotteî enougè energù tï writå thió entrù iî mù trið diary®   I'vå -haä á trulù wonderfuì daù® É lovå thió city. - -Septembeò 12 - -I'vå  goô tï catcè uð oî twï dayó oæ diarù entries® Wå  wenô  tï -thå theateò lasô night¬ anä goô bacë tï thå hoteì toï latå tï  dï -anù writing. - -Yesterday¬  wå tooë á breaë froí organizeä tours¬ anä decideä  tï -visiô  severaì  Londoî siteó oî ouò own® Iî thå morninç  wå  wenô  tï -Westminsteò  Abbey® Wå boughô á guidebooë anä tooë  á  leisurelù -touò oæ thå church® - -Iî thå afternoon¬ wå visiteä thå Britisè Museum® Thå placå ió sï -hugå  thaô iô ió impossiblå tï eveî thinë oæ coverinç iô  alì  iî Šonå afternoon® Buô wå tooë á quicë touò anä sa÷ thå Magná Carta¬ -thå Rosettá Stone¬ anä á hugå collectioî oæ originaì  manuscriptó -anä  musicaì scoreó ­­ Bach¬ Handel¬ Beethoven¬  Keats¬  Shelley¬ -Dickenó, anä manù more. - -Today¬  wå lefô Londoî anä tooë á daù touò tï Stratforä-oî-Avon¬  thå -birthplacå  oæ Williaí Shakespeare® Wå wenô bù buó witè á  largå -grouð  buô thå touò guidå waó sï welì informeä thaô iô  waó  welì -wortè  it® Wå covereä á loô iî onå daù anä eveî tooë timå foò  á -leisurelù luncè aô á locaì hotel. - -Stratforä-oî-Avoî   ió  á  picturesquå  littlå  towî  anä   stilì -maintainó  itó  Elizabethaî  flavor®   Mosô  buildingó  arå   thå -originaló  anä havå beeî verù welì preserved® Wå enjoyeä  seeinç -alì thå siteó relateä tï Shakespeare'ó life. - -Tomorro÷ ió ouò lasô daù iî London® We'lì havå tï makå thå  mosô -oæ it! - - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/DICTSORT.COM b/Source/Images/hd_cpm3/s1/u0/DICTSORT.COM deleted file mode 100644 index 04c821b4..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/DICTSORT.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/FIND.COM b/Source/Images/hd_cpm3/s1/u0/FIND.COM deleted file mode 100644 index e036680b..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/FIND.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/HOMONYMS.TXT b/Source/Images/hd_cpm3/s1/u0/HOMONYMS.TXT deleted file mode 100644 index df51bf2d..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/HOMONYMS.TXT and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/HYEXCEPT.TXT b/Source/Images/hd_cpm3/s1/u0/HYEXCEPT.TXT deleted file mode 100644 index 559ff865..00000000 --- a/Source/Images/hd_cpm3/s1/u0/HYEXCEPT.TXT +++ /dev/null @@ -1,358 +0,0 @@ -CON-TROL-LABLE -EQ-UABLE -IN-SA-TIABLE -NE-GO-TIABLE -SO-CIABLE -TURN-TABLE -UN-CON-TROLLABLE -UN-SO-CIABLE - -DE-PEND-ENT -IN-DE-PEND-ENT - -ANY-THING -BAL-DING -DAR-LING -DUMP-LING -ERR-ING -EVE-NING -EVERY-THING -FAR-THING -FOUND-LING -INK-LING -MAIN-SPRING -NEST-LING -OFF-SPRING -PLAY-THING -SAP-LING -SHOE-STRING -SIB-LING -SOME-THING -STAR-LING -STER-LING -UN-ERR-ING -UP-SWING -WEAK-LING -YEAR-LING - -CIV-I-LIZE -CRYS-TAL-LIZE -IM-MO-BI-LIZE -ME-TA-BO-LIZE -MO-BI-LIZE -MO-NOP-O-LIZE -STA-BI-LI*ZE -TAN-TA-LIZE -UN-CIV-I-LIZED - -PAL-ATE -IN-CLEM-ENT -BAR-ON-ESS -LI-ON-ESS -EU-LOGY -PED-A-GOGY -LUS-CIOUS -AT-MOS-PHERE -MET-AL -NON-METAL -PET-AL -POST-AL -RENT-AL -CAT-ION -COM-BAT-IVE -STAT-URE -BECK-ON -BES-TIAL -COM-A-TOSE -COME-BACK -CO-ME-DIAN -COMP-TROLLER -CONE-FLOWER -CO-NUN-DRUM -EQUIPPED -HANDLE-BAR -INCH-WORM -INK-BLOT -INN-KEEPER -IN-TE-RIOR -MIN-IS-TER -MIN-IS-TRY -NONE-THE-LESS -QUA-DRILLE -SOM-ER-SAULT -SU-PE-RIOR -U-NA-NIM-ITY -U-NAN-I-MOUS -UNC-TUOUS -DEBT-OR -AC-KNOW-LEDGE -DE-DUCT-I*BLE -EX-ACT-I-TUDE -IN-EX-ACT-I-TUDE -PRE-DICT-*ABLE -RE-SPECT-*ABLE -UN-PRE-DICT-ABLE -VICT-UAL -NEEDLE-WORK -IDLER -BUFF-ER -OFF-BEAT -OFF-HAND -OFF-PRINT -OFF-SHOOT -OFF-SHORE -STIFF-EN -LEFT-IST -LEFT-OVER -LIFT-OFF -SOFT-HEARTED -EGG-SHELL -EGG-PLANT -EGG-NOG -EGG-HEAD -COGNAC -FOR-EIGN-ER -VIGNETTE -HOGS-HEAD -CHILD-ISH -ELD-EST -GOLD-EN -HOLD-OUT -HOLD-OVER -HOLD-UP -SELF-ISH -BULL-ISH -CREST-FALLEN -DIS-TILL-*E*RY -FALL-OUT -LULL-ABY -ROLL-AWAY -SELL-OUT -WALL-EYE -PSALM-IST -ELSE-WHERE -FALSE-HOOD -CON-SULT-ANT -VOLT-AGE -RE-SOLV-ABLE -RE-VOLV-ER -SOLV-ABLE -UN-SOLV-ABLE -BEACH-COMBER -BOMB-ER -CLIMB-ER -PLUMB-ER -DAMP-EN -DAMP-EST -CLINCH-ER -LAUNCH-ER -LUNCH-EON -RANCH-ER -TRENCH-ANT -AN-NOUNCER -BOUNCER -FENCER -HENCE-FORTH -MINCE-MEAT -SI-LENCER -BIND-ERY -BOUND-ARY -COM-MEND-*A-*T*ORY -DE-PEND-ABLE -EX-PEND-ABLE -FIEND-ISH -LAND-OWNER -OUT-LAND-ISH -ROUND-ABOUT -SEND-OFF -STAND-OUT -UN-DER-STAND-ABLE -CHANGE-OVER -HANG-OUT -HANG-OVER -HA-RANGUE -ME-RINGUE -ORANGE-ADE -TONGUE -VENGE-ANCE -SENSE-LESS -AC-COUNT-ANT -ANT-ACID -ANT-EATER -COUNT-ESS -PER-CENT-*AGE -REP-RE-SENTATIVE -ANT-HILL -PENT-HOUSE -AC-CEPT-ABLE -AC-CEPTOR -ADAPT-ABLE -ADAPT-ER -CRYPT-ANALYSIS -IN-TER-RU*P*T-*I*BLE -AN-TIQ-UI*TY -INEQ-UITY -INIQ-UITY -LIQ-UEFY -LIQ-UID -LIQ-UI-D*A*T*E -LIQ-UI-D*A-*T*ION -LIQ-UOR -PRE-REQ-UI-SITE -REQ-UI-SI-TION -SUB-SEQUENCE -U-BIQ-UI-TOUS -AB-SORB-ENT -CARB-ON -HERBAL -IM-PERT-TURB-ABLE -ARCH-ERY -ARCH-AN-GEL -RE-SEARCH-ER -UN-SEARCH-ABLE -AC-CORD-ANCE -BOARD-ER -CHORDAL -HARD-EN -HARD-EST -HAZ-ARD-OUS -JEOP-ARD-IZE -RE-CORDER -STAND-ARD-IZE -STEW-ARD-ESS -YARD-AGE -SURF-ER -MORGUE -CURL-I-CUE -AF-FIRM-*A*T*IVE -CON-FORM-*ITY -DE-FORM-ITY -IN-FORM-A*NT -NON-CON-FORM-IST -CAV-ERN-OUS -DIS-CERN-IBLE -MOD-ERN-IZE -TURN-ABOUT -TURN-OVER -UN-GOV-ERN-ABLE -WEST-ERN-IZE -HARP-IST -SHARPEN -TORQUE -COARS-EN -IR-RE-VERS-IBLE -NURSE-MAID -NURS-ERY -RE-HEARS-AL -RE-VERS-IBLE -WORS-EN -ART-IST -CON-VERT-IBLE -COURT-YARD -FORE-SHORT-EN -HEART-ACHE -HEART-ILY -SHORT-EN -APART-HEID -COURT-HOUSE -EARTH-EN-WARE -NORTH-EAST -NORTH-ERN -PORT-HOLE -NERV-OUS -OB-SERV-A*BLE -OB-SERVER -PRE-SERV-*A*T*I*VE -SERV-ER - -SERV-ICE-ABLE -PRE-SCHOOL -CON-DE-SCEND -CRE-SCENDO -DE-CRE-SCENDO -DE-SCEND-ENT -DE-SCENT -PLEB-I-SCITE -RE-SCIND -SEA-SCAPE -ASKANCE -SNAKE-SKIN -WHISK-ER -COLE-SLAW -RATTLE-SNAKE -CLASS-IFY -CLASS-ROOM -CROSS-OVER -DIS-MISS-*AL -EX-PRESS-*I*BLE -IM-PASS-ABLE -LESS-EN -PASS-ABLE -TOSS-UP -UN-CLASS-I-FIED -AR-MI-STICE -ASTIG-MA-TISM -ASTIR -ASTONISH-MENT -BLAST-OFF -BY-STAND-ER -CANDLE-STICK -CAST-AWAY -CAST-OFF -CON-TEST-ANT -CO-STAR -DE-TEST-ABLE -DI-GEST-IBLE -EAST-ERN -EX-IST-ENCE -FORE-STALL -IN-CON-TEST-ABLE -IN-DI-GES*T-*I*BLE -IN-EX-HAUST-IBLE -LIFE-STYLE -LIME-STONE -LIVE-STOCK -MILE-STONE -NON-EX-IST-ENT -PER-SIST-ENT -PHO-TO-STAT -RE-START-ED -RE-STATE-MENT -RE-STORE -SHY-STER -SIDE-STEP -SMOKE-STACK -SUG-GEST-*I*BLE -THERMO-STAT -WASTE-BAS-KET -WASTE-LAND -MAST-HEAD -POST-HU-MOUS -PRIEST-HOOD -SIDE-SWIPE -WATT-METER -BE-TWEEN -KIB-ITZER -BUZZ-ER -AL-GO-RITHM -BIB-LI-OG-RAPHY -BI-NO-MIAL -CEN-TER -COM-PUT-A*BIL-ITY -DEC-LA-RA-TION -DE-GREE -ES-TAB-LISH -GEN-ER-ATOR -HAP-HAZARD -NEG-LI-GIBLE -PE-RI-ODIC -POLY-NO-MIAL -PRE-VIOUS -PROB-ABIL-ITY -PROB-ABLE -PRO-CE-DURE -PUB-LI-CA-TION -PUB-LISH -RE-PLACE-MENT -WHEN-EVER - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/HYPHEN.COM b/Source/Images/hd_cpm3/s1/u0/HYPHEN.COM deleted file mode 100644 index f37eae9d..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/HYPHEN.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/LOOKUP.COM b/Source/Images/hd_cpm3/s1/u0/LOOKUP.COM deleted file mode 100644 index 460bdfa3..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/LOOKUP.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/MAINDICT.CMP b/Source/Images/hd_cpm3/s1/u0/MAINDICT.CMP deleted file mode 100644 index b36ede7b..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/MAINDICT.CMP and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/MARKFIX.COM b/Source/Images/hd_cpm3/s1/u0/MARKFIX.COM deleted file mode 100644 index 2bb6078f..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/MARKFIX.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/MOVEPRN.COM b/Source/Images/hd_cpm3/s1/u0/MOVEPRN.COM deleted file mode 100644 index 63e864f4..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/MOVEPRN.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/PATCH.LST b/Source/Images/hd_cpm3/s1/u0/PATCH.LST deleted file mode 100644 index 7a4a98f1..00000000 --- a/Source/Images/hd_cpm3/s1/u0/PATCH.LST +++ /dev/null @@ -1,1877 +0,0 @@ - ; - ;In order to minimize changes to the locations of User area - ;data, the origin is forced here to 180H above the start of - ;the TPA. - ; - ORG TPA+180H ;Always start user area in same spot - - ; - ;This jump table provides commonly used subroutines for use - ;by custom subroutines in the User areas. It must not be - ;modified in any way. - ; - - ; - ;To output a character to the terminal from within your - ; custom subroutines, call DISPLA with the character - ; to be output in the accumulator (A register). All - ; registers will be preserved. - ; -0280 DISPLA:: -0280 C3 0CB6 JMP CO ;Display character routine - - ; - ;To output a string to the terminal that is in the normal - ; user area format (count followed by bytes), call - ; STRING with HL pointing to the string to be output. - ; Upon returning, HL points to the byte following the - ; string. - ; -0283 STRING:: -0283 C3 17C6 JMP STROUT ;Display string routine - - ; - ;To use WordStar's standard list output drivers, call the - ; following subroutines. In all cases, all registers - ; except for the PSW are unchanged by the subroutines. - ; -0286 LSTOUT: ;Prints char in A. -0286 C3 0000* JMP LO - -0289 LSOSTA: ;Returns output status to A (0 if busy). -0289 C3 0000* JMP LOSTAT - -028C LSTIN: ;Inputs char from printer to A. (Only -028C C3 0000* JMP LI ;works if custom ULISTI exists.) - -028F LSISTA: ;Returns input status to A (0 if no char). -028F C3 0000* JMP LISTAT ;(Only works if custom ULISTA.) - -0292 LSTRNG: ;Send string to list device. (HL points - -0292 C3 0000* JMP LSTSTR ;to string, count byte first, just like - ;console strings). - - ; - ;This flag is used if WordStar is on a multi-user system. It should - ;be set to zero on single-user systems. Each bit of MPMFLG is used - ;as follows: - ; - ; Bit Meaning - ; - ; - ; 0 If 0, WordStar will issue a SYSTEM RESET when logging - ; onto a removable disk drive. If 1, no reset will - ; occur, and the operating system itself must handle - ; any disk swapping. - ; - ; 1 If 1, users can share documents. Before opening a - ; document to edit, WordStar will check to see if temporary - ; files with that document name (e.g. FILENAME.$A$) - ; already exist. If such files exist, WordStar will open - ; the document as a protected document, preventing any - ; changes to it. If 0, WordStar will delete existing - ; temporary files when opening the document for editing. - ; - ; 2 If 1, users can share printer. MP/M function calls are - ; issued to attach and detach the list device. If 0, - ; the printer is assumed to be always attached. - ; - ; 3 If 1, WordStar will issue frequent MP/M "dispatch to - ; next task" function calls to assure that multiple users - ; have balanced access to the computer. If 0, WordStar - ; assumes that only one user is on the computer at a time. - ; If the operating system itself can load share adequately - ; (such as MP/M 8/16 systems), set this bit to 0. - ; - ; 4-6 Reserved. - ; - ; 7 If 1, TurboDOS 1.3 operating system. WordStar will not - ; check the disk drive write protect vector, will not check - ; printer busy status, and will issue the TurboDos printer - ; detach call when done printing. If 0, CP/M or MP/M. - ; WordStar does not support TurboDos 1.2. - ; - ;If you are using MP/M, bits 0, 1 and 2 should all be set to 1. Bit 3 - ;should be set for older versions of MP/M. If you are running on a - ;networked system, only bit 1 should be set. If you are using TurboDos - ;1.3 in a multi-user environment, bits 1 and 7 should be set. If you - ;are using single-user TurboDos, only bit 7 should be set. - ; -0295 MPMFLG:: -0295 00 DB 0 ;Zero for single-user systems - -0296 00 DB 0 ;Reserved - - ; - ;SHARE specifies how WordStar will handle two users in a shared file - ;system who attempt to edit the same file. If 0, the second user - ;will be denied access to the file. If 1, the second user can - ;view as much of the file as can be loaded into memory, but he - ;cannot modify the file. - ; -0297 SHARE:: -0297 01 DB 1 ;Allow viewing (protected edit) - -0298 00 00 00 DB 0,0,0 ;Reserved - - ; - ;The function key table allows you to program any function keys that - ;your terminal supports into one or more other keystrokes. Note that - ;on many terminals, the function keys generate a sequence of characters - ;where the first character is a control code. Since WordStar probably - ;uses this same code for one its commands, a timer is used to determine - ;when the "burst" of characters from the function key is done. - ;This works because the terminal will usually send the function - ;key characters at close to full baud rate. At 9600 baud, each character - ;takes 1/960 of a second to send, or close to one millisecond. That - ;means that three characters would take approximately three milliseconds. - ;There is no way that even the fastest human typist could type that - ;fast! Therefore, this method will usually work. - ; - ;Each function key in the table below is represented by two strings. - ;The first describes the "burst" from the key. The second is what it - ;should be translated into. You may not use string indirections in - ;this table (size of -1 followed by address). - ; - ;The end of the function key table is indicated when the size of the - ;function key string is zero. If you have more function keys than will - ;fit, you can put a continuation address after the zero to point to more - ;table. The table at that address must be the same format as this - ;one. No continuation is indicated by an address of zero. - ; - ;One character "bursts" will not work here. If you need to translate - ;a single character into something else, use the user console input - ;routine UCONI. - ; - ;Warning! Terminals or computers that have their own type-ahead - ;buffering may cause problems with this approach since it will be more - ;likely that characters other than just function keys will be "burst" - ;into WordStar by it. - ; - -029B FUNDLY:: -029B 00 DB 0 ;Milliseconds of delay between characters - ;of function key burst (if zero, no - ;function keys are implemented). See - ;section on delays below before adjusting - ;FUNDLY for your system. - -029C 01 DB CTRLA ;Character that starts each burst - ;(set to 0FFh to disable) - -029D FUNTBL:: -029D 03 DB 3 ;Three chars in burst -029E 01 40 0D DB CTRLA,'@',CR ;Function key 1 -02A1 02 DB 2 ;Two chars in replacement -02A2 0B 42 DB CTRLK,'B' ;Mark beginning of block - -02A4 03 DB 3 -02A5 01 41 0D DB CTRLA,'A',CR ;Function key 2 -02A8 02 DB 2 -02A9 0B 4B DB CTRLK,'K' ;Mark end of block - -02AB 03 DB 3 -02AC 01 42 0D DB CTRLA,'B',CR ;Function key 3 -02AF 02 DB 2 -02B0 0B 43 DB CTRLK,'C' ;Copy marked block - -02B2 03 DB 3 -02B3 01 43 0D DB CTRLA,'C',CR ;Function key 4 -02B6 02 DB 2 -02B7 0B 56 DB CTRLK,'V' ;Move marked block - -02B9 03 DB 3 -02BA 01 44 0D DB CTRLA,'D',CR ;Function key 5 -02BD 02 DB 2 -02BE 0B 59 DB CTRLK,'Y' ;Delete marked block - -02C0 03 DB 3 -02C1 01 45 0D DB CTRLA,'E',CR ;Function key 6 -02C4 02 DB 2 -02C5 11 46 DB CTRLQ,'F' ;Find string - -02C7 03 DB 3 -02C8 01 46 0D DB CTRLA,'F',CR ;Function key 7 -02CB 02 DB 2 -02CC 11 41 DB CTRLQ,'A' ;Search and replace - -02CE 03 DB 3 -02CF 01 47 0D DB CTRLA,'G',CR ;Function key 8 -02D2 01 DB 1 -02D3 0C DB CTRLL ;Repeat last find or replace again - -02D4 03 DB 3 -02D5 01 48 0D DB CTRLA,'H',CR ;Function key 9 -02D8 02 DB 2 -02D9 0B 44 DB CTRLK,'D' ;Save document - -02DB 03 DB 3 -02DC 01 49 0D DB CTRLA,'I',CR ;Function key 10 -02DF 02 DB 2 -02E0 0B 51 DB CTRLK,'Q' ;Abandon editing - -02E2 03 DB 3 -02E3 01 4A 0D DB CTRLA,'J',CR ;Function key 11 -02E6 06 DB 6 -02E7 11 46 10 DB CTRLQ,'F',CTRLP ;Find end of paragraph -02EA 0D 0D 0D DB CR,CR,CR - -02ED 03 DB 3 -02EE 01 4B 0D DB CTRLA,'K',CR ;Function key 12 -02F1 08 DB 8 -02F2 11 46 10 DB CTRLQ,'F',CTRLP ;Find beginning of paragraph -02F5 0D 0D 42 0D DB CR,CR,'B',CR,CTRLD -02F9 04 - -02FA 00 DB 0 ;End of table -02FB 0000 DW 0 ;No continuation - - REPT 128-($-FUNTBL) ;Allow 128 bytes for table - DB 0 - ENDM - -031D 00 00 DB 0,0 ;Reserved - - ; - ; TERMINAL PATCH AREA - ; - ;This section contains the user-modifiable constants and - ; routines for hardware-dependent terminal functions - ; and characteristics required by the editor. - ; - ;There are three types of patches in this area. One can - ; patch data values (HITE, WID) which describe the - ; terminal, strings (CLEAD1, ERAEOL) which define - ; control sequences, or actual microprocessor - ; instructions. - ; - ;For the string sequences, the first byte of the patch - ; indicates the number of bytes in the string, - ; followed by that many string bytes. If there is - ; insufficient room for the whole string, the format - ; can be modified by putting a -1 (0FFH) where the - ; number of bytes would go, and then putting the - ; address in the following two bytes (low order byte - ; first) of the address where the longer patch - ; resides. The longer patch must then be of the - ; normal format which is the number of bytes followed - ; by the string. - ; - ;This area is normally patched for your specific terminal - ; by the interactive INSTALL program. Additional - ; patching to this area is needed only for unusual - ; terminals or video boards, or to meet special - ; requirements, or to enhance or personalize your - ; copy of WordStar. The default user area is - ; set up for this example installation. - ; - - ; - ;Video screen height, width, and wrap-around parameters are required. - ; -031F HITE:: -031F 18 DB 24 ;Must be exact screen height in lines. -0320 WID:: -0320 50 DB 80 ;Must be <= exact screen width in columns. -0321 WRAP:: -0321 FF DB TRUE ;Indicates if terminal wraps around to next - ;line if a character is displayed in WIDth - ;column of screen (set FALSE if it doesn't) - -0322 XONOFF:: -0322 FF DB TRUE ;TRUE if XON/XOFF protocol to be used for - ;the CRT terminal - -0323 SCROLL:: -0323 14 DB 20 ;Number of columns that are horizontally - ;scrolled when cursor moves beyond right - ;or left side of screen. - -0324 DIRSIZ:: -0324 05 DB 5 ;Number of lines available for directory - ;at bottom of screen. If zero, no directory. - -0325 0B DB 11 ;Larger directory for document selection - - ; - ;Delete Display String - ; - ;The following string indicates to WordStar how to display a delete - ;character (hex 7F) on the screen while editing. On terminals that - ;interpret the delete character code into a displayable character, it - ;is recommended that DELSTR be translated into the delete code itself - ;(length of 1, then 7FH). All characters in the string must display. - ; -0326 DELSTR:: -0326 03 DB 3 ;Number of chars in string -0327 44 45 4C DB 'DEL' ;What is displayed -032A 00 00 DB 0,0 ;Spare bytes - - ; - ;Soft and End of Line Hyphen Display String - ; - ;In order to distinguish soft hyphens from normal hyphens in the text, - ;WordStar will substitute the following string when one is encountered. - ; - -032C SHYSTR:: -032C 01 DB 1 ;Number of chars in string -032D 3D DB '=' ;What is displayed -032E 00 00 00 00 DB 0,0,0,0 ;Spare bytes - ; - ;Block Marker Strings - ; - ;Block marker strings are displayed on the screen to show the start and - ;end of a block of text. The strings are in the typical format of the - ;length followed by as many characters. Control characters should not - ;be included within these strings because they would not be sent - ;directly to the screen. - ; - -0332 BBLOCK:: -0332 03 DB 3 ;Three chars -0333 3C 42 3E DB '' ;Begin block -0336 00 DB 0 ;1 spare - ; -0337 KBLOCK:: -0337 03 DB 3 ;Three chars -0338 3C 4B 3E DB '' ;End block -033B 00 DB 0 ;1 spare - - ; - ;Special character used when displaying soft spaces with ^OB. - ; -033C SOFTSP:: -033C 2B DB '+' ;Soft spaces show up as plus signs - -033D 00 00 00 00 DB 0,0,0,0,0 ;Reserved -0341 00 - - ; - ;The following string is used at sign-on to describe the type - ;of terminal being used by WordStar. Up to 40 bytes are available - ;for the string, including its null terminator. - ; -0342 CRTID:: -0342 55 6E 69 6E DB 'Uninstalled Terminal',CR,LF,0 ;Terminal name -0346 73 74 61 6C -034A 6C 65 64 20 -034E 54 65 72 6D -0352 69 6E 61 6C -0356 0D 0A 00 -0359 20 20 20 20 DB ' ' ;Extra room -035D 20 20 20 20 -0361 20 20 20 20 -0365 20 20 20 20 -0369 20 - - ; - ;Cursor positioning control sequences are required. - ; - ;Cursor positioning for most terminals is accomplished - ; by sending: - ; - ; 1. A 'lead-in' string of one or more terminal - ; specific characters. - ; 2. The line number, with an offset (often 20H) added. - ; For some terminals, the column number is - ; sent first. - ; 3. For some terminals, another 'lead-in' string. - ; 4. The column (or line) number, with an offset. - ; 5. For some terminals, a terminating string. - ; - ;For most terminals, the line and column number are sent - ; as one-byte binary numbers. Some terminals require - ; that a two- or three-digit ASCII number is sent. - ; - ;For terminals that do not fit the above patterns, you - ; must code your own subroutine. - ; - ;For example, the cursor is positioned on this sample - ; installation by sending: - ; - ; ESCAPE, '=', - ; line number plus 20H, - ; column number plus 20H. - ; -036A CLEAD1:: ;Initial lead-in string -036A 02 DB 2 ;Number of characters -036B 1B DB ESC ;First character -036C 3D DB '=' ;Second character -036D 00 00 DB 0,0 ;Space for two more characters - -036F CLEAD2:: ;Sent between line and column -036F 00 DB 0 ;Number of characters, none in our -0370 00 DB 0 ;example. First character -0371 00 00 00 DB 0,0,0 ;Space for three more characters - -0374 CTRAIL:: ;Terminating string -0374 00 DB 0 ;Number of characters -0375 00 00 00 00 DB 0,0,0,0 ;Space for four characters - -0379 CB4LFG:: ;Send column before line? -0379 00 DB 0 ;Set non-zero to send column first - -037A CUROFF:: ;Cursor offsets - - ;Offset to add to line -037A 20 DB 20H ;Add 20H to line number (0 is top - ;line of screen before offset) - - ;Offset to add to column -037B 20 DB 20H ;Add 20H to column number (0 is - ;left-most column of screen - ;before offset) - -037C ASCUR:: ;Binary/ASCII digit flag -037C 00 DB 0 ;0 to send binary line and column - ;2 to send 2-digit ASCII numbers - ;3 to send 3-digit ASCII numbers - - ; - ;Provision for positioning cursor by user-coded - ; subroutine, instead of under control of above - ; items. For use in exceptional cases only. - ; - ;Insert a JMP instruction to your subroutine in the - ; following three bytes. Whenever the first byte - ; is non-NOP, this location will be called to - ; position the cursor, and the above cursor patch - ; items will be ignored. - ; - ;Your subroutine will receive the line number in the L - ; register (0 = top line), the column number in - ; the H register (0 = left-most column), and the - ; video attributes at the next typing position in - ; the A register. Attributes are represented as - ; described for the VIDATT routine, except that the - ; warning/error bit indicates double-strike. - ; - ;Your subroutine may alter all registers. - ; -037D UCRPOS:: -037D 00 NOP ;Normally NOP, or JMP to your cursor -037E 00 NOP ;positioning routine. -037F C9 RET - - ; - ;Displaying characters on some screens can be significantly faster if the - ;cursor can be turned off. - ; -0380 ONCUR:: ;Turn cursor on by changing to jump -0380 00 NOP ;to custom subroutine. -0381 00 NOP ; L = current cursor line -0382 C9 RET ; H = cursor column - -0383 OFFCUR:: ;Turn cursor off by changing to jump -0383 00 NOP ;to custom subroutine. -0384 00 NOP ; L = current cursor line -0385 C9 RET ; H = cursor column - - ; - ;Everything in the rest of this section is optional. - ; The items relate either to enhanced performance, - ; or for accomodating unusual terminals. - ; - - ; - ;Erase screen. If this function is not available, leave - ; the first byte zero, and the WordStar will either send - ; line feeds, or update a screen of text using ERAEOL - ; below. - ; - ;After the screen is erased, WordStar assumes that the video - ; attributes are set to normal (dim for the example - ; terminal), and that the cursor is at the home position - ; (upper left hand corner). - ; -0386 ERASCR:: -0386 03 DB 3 ;Number of characters -0387 1A DB CTRLZ ;First character (clear screen) -0388 1B 29 DB ESC,')' ;Additional characters (dim) -038A 00 00 00 00 DB 0,0,0,0,0,0 ;Room for 13 more -038E 00 00 -0390 00 00 00 00 DB 0,0,0,0,0,0,0 -0394 00 00 00 - - ; - ;Backspace one character string. If this function is not - ; available, leave the first byte zero, and WordStar - ; will use cursor addressing to backspace. - ; -0397 BAKSPC:: -0397 01 DB 1 ;Number of characters -0398 08 DB BS ;First character -0399 00 00 00 DB 0,0,0 ;Additional characters - - ; - ;Erase to end of line string. If this function is not - ; available, leave the first byte zero, and WordStar - ; will perform the function more slowly via software. - ; -039C ERAEOL:: -039C 02 DB 2 ;Number of characters -039D 1B DB ESC ;First character -039E 54 00 00 DB 'T',0,0 ;Additional characters - - ; - ;Erase to end of screen string. If this function is not - ; available, leave the first byte zero, and WordStar - ; will perform the function more slowly via software. - ; -03A1 ERAEOS:: -03A1 02 DB 2 ;Number of characters -03A2 1B DB ESC ;First character -03A3 59 00 00 DB 'Y',0,0 ;Additional characters - - ; - ;Delete screen line containing the cursor, and move lower - ; lines on the screen up one line. If this function - ; is not available, leave the first byte zero, and - ; WordStar will perform the function more slowly - ; via software. - ; -03A6 LINDEL:: -03A6 02 DB 2 ;Number of characters -03A7 1B DB ESC ;First character -03A8 52 00 00 DB 'R',0,0 ;Additional characters - - ; - ;Insert a blank line on the screen, moving the line - ; containing the cursor, and the lines below it down - ; one line. If this function is not available, leave - ; the first byte zero, and WordStar will perform - ; the function more slowly via software. - ; -03AB LININS:: -03AB 02 DB 2 ;Number of characters -03AC 1B DB ESC ;First character -03AD 45 00 00 DB 'E',0,0 ;Additional characters - - ; - ;WordStar will use LINDEL and LININS to delete or insert a group - ; of lines rather than just displaying a whole new screenful - ; of characters. LINMAX below indicates the maximum number - ; of lines that this would generally be faster than the - ; re-display. Set to zero if don't care. - ; -03B0 LINMAX:: -03B0 05 DB 5 ;Five lines - - ; - ;Terminal initialization string. A string of bytes which - ; will be sent to the terminal at the beginning of a - ; session. See also INISUB. - ; -03B1 TRMINI:: -03B1 FF DB -1 ;Number of bytes -03B2 0386 DW ERASCR ;Use extension mechanism (-1 as byte -03B4 00 00 DB 0,0 ;count) to erase screen as initialization. - - ; - ;Terminal un-initialization string. A string of bytes - ; which will be sent to the terminal at the end of a - ; session. See also UNISUB. - ; -03B6 TRMUNI:: -03B6 02 DB 2 ;Number of bytes -03B7 1B 28 DB ESC,'(' -03B9 00 00 DB 0,0 - - ; - ;User-patchable initialization subroutine. Called before - ; the TRMINI string is sent. This subroutine may be - ; used for special console initialization or other - ; purposes. See UCRPOS comments. - ; -03BB INISUB:: -03BB 00 NOP ;Normally NOP, or JMP to -03BC 00 NOP ;your subroutine -03BD C9 RET - - ; - ;User patchable un-initialization subroutine. Called - ; before the TRMUNI string is sent. This subroutine - ; may be used to 'undo' any special terminal status - ; used for the WordStar. See UCRPOS comments. - ; -03BE UNISUB:: -03BE 00 NOP ;Normally NOP, or JMP to -03BF 00 NOP ;your subroutine -03C0 C9 RET - - ; - ;Video attributes are used in various places on the WordStar display. - ;The following table describes what each bit of an attribute byte - ;means when used within WordStar. Note that when no bit is set, that - ;is the normal condition. - ; - ; Bit WordStar Usage - ; - ; none Normal text - ; 0 Strike-out text - ; 1 Warning & error messages - ; 2 Marked block of text - ; 3 Underlined text - ; 4 Subscripted text - ; 5 Superscripted text - ; 6 Bold text - ; 7 Italic (or ribbon color) - ; - ;For this sample installation, the following translation of attribute - ;bits into video conditions could be used. - ; - ; WordStar Example - ; - ; Normal Dim - ; Warning Blink - ; Marked Inverse - ; Underlined Underline - ; Subscripted Bright - ; Superscripted Bright - ; Highlighted Bright - ; - ;Because each terminal uses such diverse strings to change video - ;attributes, you must provide a custom subroutine at VIDATT to - ;build the proper one for yours. You may be able to take advantage - ;of the fact that many terminals use a binary method to encode the - ;attributes. If you do not wish to use any video attributes, put - ;the customary two NOP's followed by a RET at VIDATT to disable it. - ; - ;The following implementation is for this sample installation. On that - ;terminal the following sequences are required for the different - ;attributes in our table: - ; - ; Attribute Sequence Screen Space - ; - ; Dim ESC ) NO - ; Bright ESC ( NO - ; Normal video ESC G 0 YES - ; Blink ESC G 2 YES - ; Inverse ESC G 4 YES - ; Underline ESC G 8 YES - ; Underline, blink ESC G : YES - ; Underline, inverse ESC G < YES - ; Underline, inverse, blink ESC G > YES - ; - ;However, since the ESC G attributes take up screen space, we cannot - ;use them with WordStar. Therefore, all attributes are highlighted - ;using bright. - - - ; - ;The VIDATT subroutine is used to change video attributes on the screen. - ;On entry, WordStar will supply the attributes that are on in the C - ;register. You must translate them into whatever your particular terminal - ;requires. The following implementation is a sample installation. - ;This subroutine is called only when a video attribute changes. - ; -03C1 VIDATT:: ;Change to NOP, NOP, RET if not needed -03C1 21 03D2 LXI H,vdim -03C4 0C INR C ;Normal video? -03C5 0D DCR C -03C6 CA 0283 JZ STRING - ; -03C9 21 03CF LXI H,vbrite ;Highlight everything else -03CC C3 0283 JMP STRING - ; -03CF 02 1B 28 vbrite: DB 2,ESC,'(' ;Bright -03D2 02 1B 29 vdim: DB 2,ESC,')' ;Dim - - REPT 128-($-VIDATT) ;Allow total of 128 bytes for VIDATT - DB 0 - ENDM - - ; - ;Normally the status line, text and directories are displayed in - ;dim intensity so that bold and doublestruck text can be shown in - ;high intensity. Setting BRITE to 0FFH reverses the usage of - ;bright and dim for the status line, text and directories ;zero - ;normally. - ; -0441 00 BRITE:: DB 0 ;Don't reverse - ;0FFH = normal text bright - - ; - ;Delays are executed after various terminal functions, before - ; the next character is sent to the terminal, to - ; allow response time required by certain terminals - ; when operating at a high baud rate. Set to a - ; larger value if you suffer a loss of characters - ; after a terminal function. - ; - ;Note that an additional delay FUNDLY is located near the - ; function key table FUNTBL above. - ; - ;Each delay is approximately the number of milliseconds - ; on a 4 MHz Z80 processor, about twice as long on - ; a 2 MHz 8080 (in other words, divide delay values - ; in half for a 2 MHz processor to achieve the same - ; results). - ; -0442 DELCUS:: -0442 00 DB 0 ;No delay after cursor positioning - ;(if your terminal works better with - ;5 milliseconds of delay, you would - ;put a "5" here instead) - -0443 DELMIS:: ;Miscellaneous screen delays -0443 00 DB 0 ;No delay - -0444 DXOFF:: ;If XON/XOFF used for terminal, sometimes -0444 07D0 DW 2000 ;a legitimate ^S will be interpreted as an - ;XOFF character. DXOFF is used to time out - ;so that the terminal will continue. - -0446 DLONG:: ;Long delays (like at sign-on) -0446 07D0 DW 2000 ;2 seconds = 2,000 milliseconds - ;(1000 if 8080) - -0448 DMED:: ;Medium delays (like at P, O, or K menus) -0448 03E8 DW 1000 ;1 second = 1,000 milliseconds - ;(500 if 8080) - -044A DSHORT:: ;Short delays (like before help menus) -044A 00C8 DW 200 ;200 milliseconds (100 if 8080) - -044C UPDLY:: ;Position update delay -044C 00C8 DW 200 ;200 milliseconds (100 if 8080) - -044E DDISK:: ;Disk access delay. If character typed -044E 01F4 DW 500 ;during disk access, wait this duration for - ;more characters. 500 milliseconds - -0450 DFAST:: ;Delay when typing fast. Holds off displaying -0450 0032 DW 50 ;the rest of the line briefly - - ; - ;Optional user-supplied console I/O subroutines. You may - ; patch JMP's here to your own console input, console - ; output, and console status subroutines, in which - ; case these routines, instead of the operating - ; system BIOS entry points, will be used for all - ; console I/O. These subroutines may alter all registers. - ; - ;Use of a custom subroutine accessed here is suggested, - ; for example, to drive a video board that cannot be - ; driven via output to the operating system. - ; -0452 UCNSTA:: ;User console status subroutine. -0452 00 NOP ;Normally NOP, or JMP to your own -0453 00 NOP ;subroutine. Must return 0 in A if -0454 C9 RET ;no character ready, 0FFH if one is - ;ready. - -0455 UCONI:: ;User console input subroutine. -0455 00 NOP ;Normally NOP, or JMP to your own -0456 00 NOP ;subroutine. Must return the -0457 C9 RET ;character in A. May be called - ;before a character is ready. If - ;no character is ready, routine - ;must wait until a character is - ;available. - -0458 UCONO:: ;User console output subroutine. -0458 00 NOP ;Normally NOP, or JMP to your own -0459 00 NOP ;subroutine. Subroutine receives -045A C9 RET ;the character in A, video attributes in - ;B, and current cursor address in HL. - - ; - ;This is 128 bytes set aside for anything that the user wishes to use. - ;If more than 128 bytes are required, it is necessary to put them after - ;the main WordStar code which can be determined by looking at the - ;contents of BGNMEM to see where it is. After using as much space as - ;necessary, change BGNMEM to the new beginning of free memory. - ; -045B MORPAT:: -045B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -045F 0000 0000 -0463 0000 0000 -0467 0000 0000 -046B 0000 0000 -046F 0000 0000 -0473 0000 0000 -0477 0000 0000 -047B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -047F 0000 0000 -0483 0000 0000 -0487 0000 0000 -048B 0000 0000 -048F 0000 0000 -0493 0000 0000 -0497 0000 0000 -049B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -049F 0000 0000 -04A3 0000 0000 -04A7 0000 0000 -04AB 0000 0000 -04AF 0000 0000 -04B3 0000 0000 -04B7 0000 0000 -04BB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -04BF 0000 0000 -04C3 0000 0000 -04C7 0000 0000 -04CB 0000 0000 -04CF 0000 0000 -04D3 0000 0000 -04D7 0000 0000 - - ; - ;CRTPAT is a patch area that may be used by WordStar's installation - ;program. - ; -04DB CRTPAT:: -04DB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -04DF 0000 0000 -04E3 0000 0000 -04E7 0000 0000 -04EB 0000 0000 -04EF 0000 0000 -04F3 0000 0000 -04F7 0000 0000 -04FB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -04FF 0000 0000 -0503 0000 0000 -0507 0000 0000 -050B 0000 0000 -050F 0000 0000 -0513 0000 0000 -0517 0000 0000 -051B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -051F 0000 0000 -0523 0000 0000 -0527 0000 0000 -052B 0000 0000 -052F 0000 0000 -0533 0000 0000 -0537 0000 0000 -053B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -053F 0000 0000 -0543 0000 0000 -0547 0000 0000 -054B 0000 0000 -054F 0000 0000 -0553 0000 0000 -0557 0000 0000 - - ; - ;The following string is used to describe the name of the default - ;printer used by WordStar. Up to 40 bytes are provided for the - ;string, including its null terminator. - ; -055B PRNID:: -055B 44 72 61 66 DB 'Draft Printer',CR,LF,0 ;Printer name -055F 74 20 50 72 -0563 69 6E 74 65 -0567 72 0D 0A 00 -056B 20 20 20 20 DB ' ' ;Additional room -056F 20 20 20 20 -0573 20 20 20 20 -0577 20 20 20 20 -057B 20 20 20 20 -057F 20 20 20 20 - - ; - ;WordStar uses a default printer driver if none is specified by the - ;user. The following is its name. It may be up to six characters long, - ;null terminated. - ; -0583 DEFPRN:: -0583 44 52 41 46 DB 'DRAFT',0 ;Standard driver -0587 54 00 -0589 20 DB ' ' ;One extra char - - ; - ;The print delay timer is used to time how long the printer is busy - ;before telling the user that it's been busy a long time. This would - ;primarily be used when the printer was in another room and you might - ;not know that it was busy due to a paper jam or being off line. - ; -058A PRNDLY:: ;Delay before saying printer busy -058A 0000 DW 0 ;Zero to disable - - ; - ;Pausing between each page is used if single sheets of paper are being - ;printed. - ; -058C PPAUSE:: -058C 00 DB FALSE ;Continuous form (don't pause) - - ; - ;Many printers can use form feeds to quickly get from one page to the - ;next. If your printer can, setting PFFEED to TRUE will cause WordStar - ;to use form feeds instead of carriage returns and line feeds. - ; - -058D PFFEED:: -058D 00 DB FALSE ;Carriage returns to next page - - ; - ;Some users, like programmers, may want to usually print non-documents. - ;In this case, WordStar prints any lines that begin with a period (dot - ;commands), and expands tab characters (09H) according to the filetype - ;in the EDCOND table elsewhere in the User Area. - ; -058E PNODOC:: -058E 00 DB FALSE ;Don't print as a non-document - - ; - ;Printer protocol flags. Only one of these flags may be set TRUE at - ;one time. If neither flag is set, WordStar assumes all printer busy - ;handshaking is done externally to WordStar (requires ULISTA and ULSTI - ;subroutines below). - ; - -058F LXOFF:: ;Printer XON/XOFF protocol. -058F 00 DB FALSE - -0590 LETX:: ;Printer ETX/ACK protocol. -0590 00 DB FALSE - -0591 LCHRMX:: ;Maximum chars before sending ETX. -0591 80 DB 128 ;Half of buffer size. - - ; - ;User list device output subroutines are used if the normal systems list - ;device is not to be used. The user subroutine overrides the LSTDEV - ;selection below. - ; -0592 ULOSTA:: -0592 00 NOP ;User list output status subroutine. -0593 00 NOP ;Normally NOP, or JMP to your own -0594 C9 RET ;subroutine. Must return 0 in AL if - ;list device is busy, 0FFH if idle. - -0595 ULSTO:: -0595 00 NOP ;User list output subroutine. -0596 00 NOP ;Normally NOP, or JMP to your own -0597 C9 RET ;subroutine. Subroutine receives the - ;character in AL. - - ; - ;User list input subroutines are used if either XON/XOFF or ETX/ACK - ;protocols are used to indicate when the printer is busy. - ; -0598 ULISTA:: -0598 00 NOP ;User list input status subroutine. -0599 00 NOP ;Normally NOP, or JMP to your own -059A C9 RET ;subroutine if LXOFF or LETX is TRUE. - ;Must return 0 in AL if no char pending. - -059B ULSTI:: -059B 00 NOP ;User list input subroutine. -059C 00 NOP ;Normally NOP, or JMP to your own -059D C9 RET ;subroutine if LXOFF or LETX is TRUE. - ;Returns character in AL. - - ; - ;Printer Output Selection - ; - ;When WordStar prints, it sends its output to one of the devices specified - ;with LSTDEV. - ; - ; 00H = TTY device - ; 01H = CRT device - ; 02H = LPT device - ; 03H = UL1 device - ; FFH = Default LST device - ; -059E LSTDEV:: -059E FF DB 0FFH ;Use LST device - - ; - ;Before printing, WordStar will call ULPORT below to allow for custom - ;print output redirection. A pointer to the name of the printer (null - ;terminated, all capital letters) will be passed to the subroutine in HL. - ;It is up to this subroutine to then route the printer output to the - ;appropriate output port by whatever means is available to it. - ; - -059F ULPORT:: -059F 00 NOP ;Normally NOP if no redirection to be done. -05A0 00 NOP ;Change to JMP to your own subroutine. -05A1 C9 RET - - ; - ;The user list device uninitialize routine is called after printing is - ;completed, and can be used to restore the printer state for non-WordStar - ;applications. - ; - -05A2 ULUNPT:: -05A2 00 NOP -05A3 00 NOP -05A4 C9 RET - - ; - ;The ULINI string is sent to the list device after ULPORT is executed - ;and before the document is printed. - ; -05A5 ULINI:: ;User list device initialize string -05A5 00 DB 0 -05A6 00 00 00 00 DB 0,0,0,0,0,0,0,0,0 -05AA 00 00 00 00 -05AE 00 - ; - ;The ULUNI string is sent to the list device after the document is - ;printed and before the ULUNPT routine is executed. - ; -05AF ULUNI:: ;User list device uninitialize routine -05AF 00 DB 0 -05B0 00 00 00 00 DB 0,0,0,0,0,0,0,0,0 -05B4 00 00 00 00 -05B8 00 - - ; - ;When WordStar begins printing, space is allocated for the three header and - ;three footer lines. HFMAX determines how much space to allocate. - ; -05B9 HFMAX:: -05B9 0064 DW 100 ;Up to 100 characters per header or footer - - ; - ;DATSEP is used while merge printing to separate one data item from - ;another in the data file. - ; -05BB DATSEP:: ;Comma -05BB 2C DB ',' - - ; - ;DLIST is the list output delay. Every time a character is output to - ;the printer, this delay is used. - ; -05BC DLIST:: -05BC 00 DB 0 ;No delay - - ; - ;Custom Printer Control Strings: These strings are sent to the printer - ;when the custom print control characters, ^Q, ^W, ^E, or ^R are - ;encountered in text being printed. They can be used to invoke special - ;printer functions not controlled by the standard driver, such as expanded - ;or compressed modes of printing. - ; - ;Note that some drivers may interfere or override the custom print controls - ;you have defined. In this case, use a generic driver such as DRAFT or - ;CUSTOM. - ; - ;A fixed length of 25 bytes is reserved for each string, where the - ;first byte is the count of characters to be sent to the printer, and - ;the following bytes (up to 5) are the characters to be sent. If - ;longer strings are required, the first byte can be -1, followed by a - ;two byte address pointing into a patch area, where the actual count - ;and string can be found. - ; -05BD UPRCTL:: ;Custom Print Controls - -05BD 00 UPRQ:: DB 0 ;^Q, length -05BE 00 00 00 00 DB 0,0,0,0,0,0 ; string of up to 24 characters -05C2 00 00 -05C4 00 00 00 00 DB 0,0,0,0,0,0 -05C8 00 00 -05CA 00 00 00 00 DB 0,0,0,0,0,0 -05CE 00 00 -05D0 00 00 00 00 DB 0,0,0,0,0,0 -05D4 00 00 - ; -05D6 00 UPRW:: DB 0 ;^W -05D7 00 00 00 00 DB 0,0,0,0,0,0 -05DB 00 00 -05DD 00 00 00 00 DB 0,0,0,0,0,0 -05E1 00 00 -05E3 00 00 00 00 DB 0,0,0,0,0,0 -05E7 00 00 -05E9 00 00 00 00 DB 0,0,0,0,0,0 -05ED 00 00 - ; -05EF 00 UPRE:: DB 0 ;^E -05F0 00 00 00 00 DB 0,0,0,0,0,0 -05F4 00 00 -05F6 00 00 00 00 DB 0,0,0,0,0,0 -05FA 00 00 -05FC 00 00 00 00 DB 0,0,0,0,0,0 -0600 00 00 -0602 00 00 00 00 DB 0,0,0,0,0,0 -0606 00 00 - ; -0608 00 UPRR:: DB 0 ;^R -0609 00 00 00 00 DB 0,0,0,0,0,0 -060D 00 00 -060F 00 00 00 00 DB 0,0,0,0,0,0 -0613 00 00 -0615 00 00 00 00 DB 0,0,0,0,0,0 -0619 00 00 -061B 00 00 00 00 DB 0,0,0,0,0,0 -061F 00 00 - - ; - ;Strike-out character - ; -0621 STKCHR:: -0621 2D DB '-' ;Strike out character - ; - ;If PFFEED above is TRUE, or you specifically tell WordStar to use form feeds - ;during printing, the following string is sent to the printer to eject the - ;paper to the next page. All printer drivers use this string. - ; -0622 01 FORMF:: DB 1 ;^L -0623 0C DB FFEED -0624 00 00 00 00 DB 0,0,0,0,0 -0628 00 -0629 00 00 00 00 DB 0,0,0,0,0,0 -062D 00 00 -062F 00 00 00 00 DB 0,0,0,0,0,0 -0633 00 00 -0635 00 00 00 00 DB 0,0,0,0,0,0 -0639 00 00 - ; - ;This is 128 bytes set aside for printer subroutines. - ;This area is also used for print control strings for the CUSTOM - ;printer driver. - ; -063B PRNPAT:: -063B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -063F 0000 0000 -0643 0000 0000 -0647 0000 0000 -064B 0000 0000 -064F 0000 0000 -0653 0000 0000 -0657 0000 0000 -065B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -065F 0000 0000 -0663 0000 0000 -0667 0000 0000 -066B 0000 0000 -066F 0000 0000 -0673 0000 0000 -0677 0000 0000 -067B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -067F 0000 0000 -0683 0000 0000 -0687 0000 0000 -068B 0000 0000 -068F 0000 0000 -0693 0000 0000 -0697 0000 0000 -069B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -069F 0000 0000 -06A3 0000 0000 -06A7 0000 0000 -06AB 0000 0000 -06AF 0000 0000 -06B3 0000 0000 -06B7 0000 0000 - - ; - ;If non-standard initialization parameters are used, the - ;following identification string can be displayed at - ;sign-on. Up to 40 bytes are available for the string, - ;including the null terminator. - ; -06BB INITID:: -06BB 00 DB 0 ;No ID if standard -06BC 20 20 20 20 DB ' ' -06C0 20 20 20 20 -06C4 20 20 20 20 -06C8 20 20 20 20 -06CC 20 20 20 -06CF 20 20 20 20 DB ' ' -06D3 20 20 20 20 -06D7 20 20 20 20 -06DB 20 20 20 20 -06DF 20 20 20 20 - - ; - ;Legal Drives - ; - ;Note that the first drive is assumed to be the default drive where any - ;special files are located such as the WSMSGS.OVR file. The drives listed - ;should be reduced to the ones that are actually in use on the system - ;upon which WordStar is running. - ; - ;If the most significant bit of the drive letter is set to 1, WordStar - ;will assume that the drive is non-removable. A disk reset will not - ;be done when non-removable drives are logged. - ; -06E3 LGLDRV:: -06E3 41 42 43 44 DB 'ABCDEFGHIJKLMNOP',0 ;Every legal drive -06E7 45 46 47 48 -06EB 49 4A 4B 4C -06EF 4D 4E 4F 50 -06F3 00 - - ; - ;Legal User Numbers - ; - ;Some CP/M operating systems can support user numbers from 0 to 15, - ;others support 0 to 31. Also, a user can be prevented from accessing - ;other user numbers if zero. - ; -06F4 LGLUSR:: -06F4 10 DB 16 ;Sixteen user numbers from 0 to 15 - - ; - ;WordStar uses several files. Their names are specified here. WordStar - ;uses the following search pattern to try to find the file: - ; - ; 1. Look on the current drive and user. - ; 2. Default user (DEFUSR) on the current drive. - ; 3. Current user on the default drive. - ; 4. Default user on the default drive. - ; - ;If the drive byte of the filename is non-zero, it should be set to a - ;number 1 through 16 representing drives A through P respectively. In - ;this case, WordStar will look only on the specified drive and the - ;DEFUSR user number for the file. - ; -06F5 MSFILE:: ;Message file -06F5 00 57 53 4D DB 0,'WSMSGS OVR' -06F9 53 47 53 20 -06FD 20 4F 56 52 - -0701 HPFILE:: ;Help messages file -0701 00 57 53 48 DB 0,'WSHELP OVR' -0705 45 4C 50 20 -0709 20 4F 56 52 - -070D FF DB 0FFH ;Zero if never to search for help - -070E IXFILE:: ;Indexer exclusion word list filename -070E 00 57 53 49 DB 0,'WSINDEX XCL' -0712 4E 44 45 58 -0716 20 58 43 4C - -071A LDFILE:: ;Load file for overlays -071A 00 57 53 20 DB 0,'WS OVR' -071E 20 20 20 20 -0722 20 4F 56 52 - -0726 OVFILE:: ;Print driver overlays -0726 00 57 53 50 DB 0,'WSPRINT OVR' -072A 52 49 4E 54 -072E 20 4F 56 52 - -0732 WSFILE:: ;File containing WordStar (after running pgm) -0732 00 57 53 20 DB 0,'WS COM' -0736 20 20 20 20 -073A 20 43 4F 4D - -073E SHFILE:: ;Shorthand file -073E 00 57 53 53 DB 0,'WSSHORT OVR' -0742 48 4F 52 54 -0746 20 4F 56 52 - - ; - ;If WordStar does not find its own files (WS.COM, WS.OVR...) on the - ;logged user, it will look for them on the default user. - ; -074A DEFUSR:: -074A 00 DB 0 ;Default user number for system files - ;Set to 0-16 or 0-31 (depends on LGLUSR), - ; or -1 to defeat - - ; - ;When you use the S command at the Opening Menu, this is the spelling - ;check command that is used. If you want WordStar to prompt for the - ;document to be checked and then automatically append it to this command, - ;set SPFILE non-zero. - ; -074B 02 SPCMD:: DB 2 ;Five letters in command -074C 54 57 DB 'TW' ;Run The WORD Plus -074E 00 00 00 00 DB 0,0,0,0,0 ;Spare bytes for longer commands -0752 00 -0753 00 00 00 00 DB 0,0,0,0,0 -0757 00 - -0758 FF SPFILE::DB 0FFH ;Automatically ask - - ; - ;When you run a program at the Opening Menu, WordStar first tries to find - ;the COM file in the current drive and user, then in this drive and user. - ;The default is to look on drive A, user 0. - ; -0759 01 URUN:: DB 1 ;Drive code (0=disabled, 1=A, 2=B, ...) -075A 00 DB 0 ;User number - - ; - ;INILOG allows the user to specify a drive and user number for WordStar to - ;log onto at start up time. The first byte is a character count, the - ;following bytes (up to three) can contain a drive name (A-P) and user - ;number (0-31). - ; -075B INILOG:: -075B 00 DB 0 -075C 00 00 00 DB 0,0,0 - - ; - ;WordStar creates backup and temporary files. The following - ;are the file types to be used for them. - ; -075F BAKTYP:: ;Type for backup files -075F 42 41 4B DB 'BAK' - -0762 BFTYPE:: -0762 24 42 24 DB '$B$' ;File type of temporary file before memory - -0765 AFTYPE:: -0765 24 41 24 DB '$A$' ;File type of temporary file after memory - -0768 BLKTYP:: -0768 24 43 24 DB '$C$' ;Type for block move/copy buffer file - - ; - ;When the directory is displayed, file types from this table - ;are suppressed. Question marks may be used as wild cards to - ;match any character. - ; -076B NOTYPE:: ;File types to be ommitted from directories -076B 43 4F 4D DB 'COM' ;Command files -076E 4F 56 52 DB 'OVR' ;Overlays -0771 24 3F 24 DB '$?$' ;WordStar temporary files - -0774 00 00 00 DB 0,0,0 -0777 00 00 00 DB 0,0,0 -077A 00 00 00 DB 0,0,0 -077D 00 00 00 DB 0,0,0 -0780 00 00 00 DB 0,0,0 -0783 00 DB 0 ;End of table - - ; - ;DIRFIL is a file name "image" that is used in conjunction with NOTYPE (above) - ;to determine which files are to be displayed in WordStar's directories. - ;DIRFIL determines which files can possibly be included, and NOTYPE then - ;eliminates certain types of files. Use a question mark in DIRFIL at each - ;spot where any file name character can match. - ; -0784 DIRFIL:: -0784 3F 3F 3F 3F DB "???????????" ;All files match -0788 3F 3F 3F 3F -078C 3F 3F 3F - - ; - ;The name of the file to be edited can be specified at the operating system - ;prompt. ININON indicates whether the file should be edited as a document - ;or nondocument. - ; -078F ININON:: -078F 00 DB FALSE ;Not non-document from command line - - ; - ;WordStar normally makes BAK backup files every time you save your work. - ;INITBAK can be used to disable backups by setting it FALSE. - ; -0790 INIBAK:: -0790 FF DB TRUE ;Make backups - - ; - ;When a nondocument is edited, WordStar will decide how to expand tabs - ;(ASCII 09H), and whether or not to use auto-indenting by looking in this - ;table. - ; - ;There is a special case of the tab masks shown below. When the most - ;significant bit of the tab mask is set to 1, WordStar will assume that - ;you want to use variable tabbing. When the tab key is typed, instead - ;of inserting an ASCII 09H into the file, spaces will be entered up to - ;the next tab stop. The tab stops used are in the INIRLR table. An - ;ASCII 09H can still be entered in this mode, however, by typing ^PI. - ; -0791 EDCOND:: ;Edit conditions for specific file types -0791 50 41 53 01 DB 'PAS',00000001B,TRUE ;File extension, followed by a -0795 FF -0796 50 4C 49 03 DB 'PLI',00000011B,TRUE ;binary tab mask (e.g. a mask of -079A FF -079B 43 20 20 03 DB 'C ',00000011B,TRUE ;00000111B expands tab characters -079F FF -07A0 48 20 20 03 DB 'H ',00000011B,TRUE ;to every 8th column), followed by -07A4 FF - ;TRUE if auto-indent is turned on. - -07A5 00 00 00 07 DB 0,0,0,00000111B,FALSE ;End of table with defaults if file -07A9 00 - ;type doesn't match above - -07AA 00 00 00 00 DB 0,0,0,0,0 ;Room for four more -07AE 00 -07AF 00 00 00 00 DB 0,0,0,0,0 -07B3 00 -07B4 00 00 00 00 DB 0,0,0,0,0 -07B8 00 -07B9 00 00 00 00 DB 0,0,0,0,0 -07BD 00 - - ; - ;WordStar normally only considers alphabetic or numeric characters - ;as being within a "word". If other characters are legally part - ;or a word too, then the bit for the corresponding character code in - ;the following table must be set to a 1. - ; - ;There are 256 bits in the table to allow for 8-bit character sets. - ;The default table has the bits set for the numbers "0" through "9" - ;(ASCII codes of 30H through 39H), for the upper case letters - ;"A" through "Z" (41H through 5AH), and the lower case letters "a" - ;through "z" (61H through 7AH). Since the ASCII codes are only - ;seven bits, the corresponding codes with the eighth bit set are - ;also legal. - ; -07BE LGLCHR::; 01234567 89ABCDEF -07BE 00 00 DB 00000000B,00000000B ;Codes 00H to 0FH -07C0 00 00 DB 00000000B,00000000B ;Codes 10H to 1FH -07C2 00 00 DB 00000000B,00000000B ;Codes 20H to 2FH -07C4 00 00 DB 00000000B,00000000B ;Codes 30H to 3FH -07C6 7F FF DB 01111111B,11111111B ;Codes 40H to 4FH -07C8 FF E0 DB 11111111B,11100000B ;Codes 50H to 5FH -07CA 7F FF DB 01111111B,11111111B ;Codes 60H to 6FH -07CC FF E0 DB 11111111B,11100000B ;Codes 70H to 7FH -07CE 00 00 DB 00000000B,00000000B ;Codes 80H to 8FH -07D0 00 00 DB 00000000B,00000000B ;Codes 90H to 9FH -07D2 00 00 DB 00000000B,00000000B ;Codes A0H to AFH -07D4 00 00 DB 00000000B,00000000B ;Codes B0H to BFH -07D6 7F FF DB 01111111B,11111111B ;Codes C0H to CFH -07D8 FF E0 DB 11111111B,11100000B ;Codes D0H to DFH -07DA 7F FF DB 01111111B,11111111B ;Codes E0H to EFH -07DC FF E0 DB 11111111B,11100000B ;Codes F0H to FFH - - ; - ;When you use ^A or ^F to move a word at a time, WordStar uses the - ;following table to determine which characters to skip. It is organized - ;in the same manner as LGLCHR above. - ; -07DE MOVCHR::; 01234567 89ABCDEF -07DE FF 92 DB 11111111B,10010010B ;Codes 00H to 0FH -07E0 FB C3 DB 11111011B,11000011B ;Codes 10H to 1FH -07E2 3F F5 DB 00111111B,11110101B ;Codes 20H to 2FH -07E4 FF CE DB 11111111B,11001110B ;Codes 30H to 3FH -07E6 FF FF DB 11111111B,11111111B ;Codes 40H to 4FH -07E8 FF FF DB 11111111B,11111111B ;Codes 50H to 5FH -07EA FF FF DB 11111111B,11111111B ;Codes 60H to 6FH -07EC FF FE DB 11111111B,11111110B ;Codes 70H to 7FH -07EE FF 92 DB 11111111B,10010010B ;Codes 80H to 8FH -07F0 FB C3 DB 11111011B,11000011B ;Codes 90H to 9FH -07F2 3F F5 DB 00111111B,11110101B ;Codes A0H to AFH -07F4 FF CE DB 11111111B,11001110B ;Codes B0H to BFH -07F6 FF FF DB 11111111B,11111111B ;Codes C0H to CFH -07F8 FF FF DB 11111111B,11111111B ;Codes D0H to DFH -07FA FF FF DB 11111111B,11111111B ;Codes E0H to EFH -07FC FF FE DB 11111111B,11111110B ;Codes F0H to FFH - - ; - ;Certain special characters can be inserted into this table to cause - ;WordStar to automatically generate a backspace character (^H) preceding - ;the character as you type. This can be especially useful for accent - ;characters in some foreign languages. - ; -07FE AUTOBS:: ;Automatic backspace table -07FE 00 DB 0 ;Number of characters in table -07FF 00 00 00 00 DB 0,0,0,0 ;Up to 8 character codes -0803 00 00 00 00 DB 0,0,0,0 - - ; - ;When WordStar gets a file for editing, it will use the following - ;initial conditions. - ; -0807 INIDOC:: ;Document initializations - -0807 03 DB 3 ;Top of page margin. - -0808 08 DB 8 ;Bottom of page margin. - -0809 42 DB 66 ;Total lines per page. - -080A 0001 DW 1 ;Initial page number (note 2 bytes). - -080C FF DB TRUE ;Page number prints at bottom of page - ;if TRUE. No page number if FALSE. - -080D 1C DB 28 ;Column where page number prints. - -080E 02 DB 2 ;Heading margin. This is the number of lines - ;above the text where the heading is to print. - -080F 02 DB 2 ;Footing margin. This is the number of lines - ;below the text where the footing is to print. - -0810 07 DB 00000111B ;Default document tab mask (must be - ;binary, 00000000B through 01111111B). - -0811 08 DB 8 ;Left column where printing starts. - -0812 FF DB TRUE ;Bidirectional printing if TRUE. Just - ;unidirectional or printer controlled - ;if FALSE. (Many printers do not allow - ;software control of print direction). - -0813 FF DB TRUE ;Letter quality printing if TRUE. Draft - ;quality if FALSE. (Only supported on - ;some printers.) - -0814 02 DB 2 ;Microjustified printing. 0 turns it off, - ;1 turns it on, and 2 makes it discretionary - ;(depending on the printer driver in use). - -0815 00 DB FALSE ;Underline blanks between words if TRUE. - ;NOTE: Not implemented for all printers. - -0816 0C DB 12 ;Standard character width (in HMI units). - ;The printer is reset to this when done - ;printing. - -0817 08 DB 8 ;Standard line height (in VMI units). The - ;printer is reset to this after .LH dot - ;commands. It is also used to determine - ;the page size in VMI units by multiplying - ;by the lines per page above. - -0818 0C DB 12 ;Character width (in HMI units) - ;for normal pitch. If HMI is 120, ten pitch - ;is 12/120, twelve pitch is 10/120. - -0819 0A DB 10 ;Character width for alternate pitch (use - ;^PA to select alternate pitch while editing). - -081A 03 DB 3 ;Subscript and superscript roll (in VMI - ;units). This value determines how - ;far up or down the carriage moves when - ;subscripting or superscripting. - -081B 08 DB 8 ;Line height (in VMI units). This value - ;determines how far to roll the carriage - ;to get to the next line. - - ; - ;The default ruler line can be described by defining the following values. - ;Note that the tab stop tables must contain values in ascending order only. - ;The regular tab stops are put in the table first, immediately followed by - ;the decimal tabs. - ; -081C INIRLR:: ;Ruler data - -081C 01 DB 1 ;Left ruler margin - -081D 41 DB 65 ;Right ruler margin - -081E 00 DB 0 ;Paragraph margin - -081F 0B DB 11 ;Eleven tabs -0820 06 0B 10 15 DB 6,11,16,21 ;Tab stops -0824 1A 1F 24 29 DB 26,31,36,41 ;(Must be in -0828 2E 33 38 DB 46,51,56 ;ascending order) -082B 00 00 00 00 DB 0,0,0,0 ;Space for 4 more - -082F 00 DB 0 ;No decimal tabs -0830 00 00 00 00 DB 0,0,0,0,0,0 ;Space for 6 -0834 00 00 - -002F inisiz EQU $-INIDOC ;Size of document initialization - - ; - ;INIRLI determines whether the ruler line is re-initialized from INIRLR each - ;time any document is edited. If INIRLI is FALSE, you can change the initial - ;ruler line with ^OL, ^OR, ^OI, and ^ON commands, and have those changes - ;be used for every document edited until you exit WordStar. - ; -0836 INIRLI:: -0836 FF DB TRUE ;Initialize ruler for each document - - ; - ;As you move through a document, WordStar executes some of the dot commands, - ;like .RR ruler line commands, as they are encountered. As WordStar moves - ;forward through the text, the old ruler line is stored in memory so that it - ;can be restored when you move backwards over the .RR later. Other dot - ;commands work in a similar manner. - ; - ;DSTKSZ is used to allocate storage for the dot commands. While you are - ;editing, WordStar puts a Dot-Limit indicator in the status line if you - ;use too many dot commands. - ; - ; Dot Command Size - ; .RR 26 - ; .RM .LM .LH .PL 1 - ; .MT .MB 1 - ; .PN 2 - ; -0837 DSTKSZ:: -0837 01F4 DW 500 ;Room for 19 .RR commands or 500 .RM & .LM - - ; - ;INIDIR determines whether the directory is initially displayed or not. - ;DIRSRT tells WordStar whether or not to sort directories in alphabetical - ;order before displaying them. - ; - -0839 INIDIR:: -0839 FF DB TRUE ;Directory on - -083A DIRSRT:: -083A FF DB TRUE ;Sort directory in alphabetical order - - ; - ;INIHLP is the default help level. It can have a value from 0 to 3. - ; - -083B INIHLP:: -083B 03 DB 3 ;Maximum help level at start - - ; - ;When editing, the last erasure can be undone with ^U. UNONE determines - ;whether single character erasures with ^G and DEL can also be undone. - ; - ;UNSIZE is the maximum erasure that can later be undone. The unerase - ;buffer shares the same memory space as the text you are editing. Making - ;UNSIZE very large may cause WordStar to "spill over" to disk more - ;frequently, slowing down editing. - ; -083C UNONE:: ;Don't unerase single characters -083C 00 DB FALSE - -083D UNSIZE:: -083D 01F4 DW 500 ;Maximum unerase size - - ; - ;VMSIZE indicates the number of 128-byte records that can be read from - ;the disk for WordStar's messages and menus. - ; -083F VMSIZE:: -083F 04 DB 4 ;Four records (.5k byte) - - ; - ;EDSIZE indicates the minimum number of records of edit buffer required - ;to edit a document properly. WordStar must be able to keep a whole - ;page in memory to determine page breaks and line numbers correctly. - ;Less memory can sometimes be used with occasional strange results. - ;(Non-documents are automatically allocated a minimum of 6 records.) - ; -0840 EDSIZE:: -0840 1C DB 28 ;Enough memory for an average full page - - ; - ;BFSIZE is the number of 128-byte records that WordStar uses for its - ;general purpose buffer. There is a different buffer allocation for - ;editing, the Opening Menu, and for merge printing. - ; - ;This buffer is used for: - ; - ; - File directories (each file uses 11 bytes), - ; - Printer driver directory (each driver uses 11 bytes and 256 - ; bytes are used for buffering), - ; - File copies, - ; - Block reads and writes, - ; - Merge printing. - ; -0841 BFSIZE:: -0841 10 DB 16 ;Edit buffer size (16 records = 2k) - ;(Minimum is 1 record) - -0842 10 DB 16 ;Opening menu buffer size - ;(Minimum is 3 records) - -0843 10 DB 16 ;Merge print buffer size - ;(Minimum is 1 record) - - ; - ;If a document becomes too large to fit in memory at one time, WordStar - ;begins to "spill" the excess to the disk. TYSIZE determines how many - ;128-bytes records to use for each spillover. Picking a correct size - ;is important but can usually be done by trial and error. If TYSIZE is - ;too large, you may see long delays during scrolling or typing when memory - ;fills. - ; -0844 TYSIZE:: -0844 10 DB 16 ;Number records read or stored while typing - -0845 00 00 00 00 DB 0,0,0,0 ;Reserved - - ; - ;A "find" or "find and replace" uses the INIFIN options if you do not - ;explicitly enter any at the "Options?" prompt. The possible options - ;that can be used are: - ; - ; W whole words only - ; U ignore case - ; B backwards search - ; G whole file - ; R rest of file - ; N replace without asking - ; - ;Blank the unused options. - ; -0849 INIFIN:: -0849 20 20 20 20 DB ' ' ;No options -084D 20 20 - - ; - ;The status line is usually displayed at the top of the screen. - ;INISTA lets you always turn it off. STFILL specifies what character - ;to use to fill unused space in the status line. - ; -084F INISTA:: -084F FF DB TRUE ;Display status line - -0850 STFILL:: -0850 20 DB ' ' ;Fill with blanks - - ; - ;When paragraphs are aligned with ^B or ^QU and hyphen help is on, HYMAX - ;is used to determine when to ask the user to hyphenate a word. - ; -0851 HYMAX:: -0851 05 DB 5 ;Ask user when the word extends more than 5 - ;characters past the right margin - - ; - ;When WordStar asks a question that requires a Y for yes or N for no response, - ;YNCR indicates whether or not the user must push the RETURN key before - ;WordStar will accept it. - ; -0852 YNCR:: -0852 00 DB FALSE ;Don't wait for RETURN key - - ; - ;WordStar can index every word in a document as well as selected words and - ;phrases. IDXALL determines whether this is the default or not. - ; -0853 IDXALL:: -0853 00 DB FALSE ;Don't index every word - - ; - ;Using ^B or ^QU in a nondocument normally strips the eighth bit from - ;each character in a line. STRPFL can disable stripping. - ; -0854 STRPFL:: -0854 FF DB TRUE ;Stripping is enabled - ; - ;Editor Entry Conditions - ; -0855 INIEDT:: -0855 FF DB TRUE ;Right justification when typing -0856 FF DB TRUE ;Word wrap when typing at end of line -0857 FF DB TRUE ;Insert on -0858 FF DB TRUE ;Print controls displayed -0859 00 DB FALSE ;No hyphen help -085A FF DB TRUE ;Ruler displayed -085B 00 DB FALSE ;Block column mode off -085C 00 DB FALSE ;Block column replace mode off -085D 01 DB 1 ;Single spacing -085E 02 DB 2 ;Scrolling speed -085F 00 DB FALSE ;Proportional spacing off -0860 00 DB FALSE ;Soft space not displayed - -0861 00 00 00 DB 0,0,0 ;Reserved - ; -000F iniesz EQU $-INIEDT ;Size of editor conditions - - ; - ;The following are special characters that affect how numbers are - ;evaluated and dispayed. - ; -0864 COMCHR:: -0864 2C DB ',' ;Comma to separate 1,000's - -0865 DECCHR:: -0865 2E DB '.' ;Decimal point - - ; - ;The following flags are used to control the way WordStar processes - ;certain commands. CTLNFL and CTLHFL are provided primarily to allow - ;WordStar 3.3 users to use ^N and ^H in the same way as they are accustomed. - ; -0866 CTLNFL:: -0866 FF DB TRUE ;Set non-zero if ^N to break line and - ;RETURN moves down a line when insert off. - ;Set to zero so ^N converts paragraph lines - ;and turns auto indent on/off for - ;nondocuments, and RETURN always inserts CRLF. - -0867 CTLHFL:: -0867 00 DB 0 ;Set non-zero if ^H to be same as ^S instead - ;of DEL. - -0868 CASEFL:: -0868 00 DB 0 ;Set non-zero if ^^ is case toggle. When - ;zero and CLTNFL is non-zero, use as - ;paragraph line and auto-indent on/off. - -0869 DELFLG:: -0869 00 DB 0 ;Set non-zero if DEL erases to left, zero - ;to erase to right (like ^G). - -086A BLKFLG:: -086A FF DB 0FFH ;Set non-zero if the cursor should move - ;to column 1 if the cursor is next to a block - ;marker at the left edge of the screen - -086B LSPFLG:: -086B 00 DB 0 ;Set non-zero if lines with soft carriage - ;returns should not be added to paragraphs - ;for line spacing other than 1 - - ; - ;RLRVID allows the user to select video attributes used to highlight - ;the ruler line. See VIDATT for bit definitions. - ; -086C RLRVID:: -086C 00 DB 0 ;No ruler highlighting - - ; - ;AHEAD indicates whether type ahead is allowed for ^E, ^X, ^W, ^Z, - ;^G, DEL, ^T, ^Y, ^QY, and ^QDEL. If AHEAD is 0, WordStar's type - ;ahead buffer will be flushed whenever one of the functions is - ;encountered. If it is non-zero, no flushing will occur. This - ;flag should be used primarily for external keyboard enhancers where - ;the functions shown above are to be used. WordStar's function key - ;and shorthand processing automatically compensate. - ; -086D AHEAD:: -086D 00 DB 0 ;Flush - - ; - ;Maximum size for the shorthand definitions. Should be optimized to - ;match actual usage since it reduces the amount of memory available - ;for text while editing and printing. The size of each definition - ;is equal to 5 plus the number of characters defined. If this value - ;is smaller than the size of the shorthand file (see SVFILE above), - ;only some of the definitions will be used. Setting it to zero - ;disables shorthand and makes the ESC key clear the screen instead. - ; -086E HANMAX:: -086E 04 DB 4 ;Size of shorthand buffer in records - ;(4 times 128 = 512 bytes) - - ; - ;With shorthand you can insert the dollar-formatted results of the last - ;math you performed. WordStar uses the format below when you do this. - ;(Make sure that the character count includes the zero at the end.) - ; -086F DOLLAR:: -086F 11 DB 17 ;Character count -0870 2D 2D 2C 2D DB '--,---,---,---.99' -0874 2D 2D 2C 2D -0878 2D 2D 2C 2D -087C 2D 2D 2E 39 -0880 39 -0881 00 00 00 DB 0,0,0 ;Spare - -0884 00 00 00 00 DB 0,0,0,0,0,0,0,0 ;Reserved -0888 00 00 00 00 -088C 00 00 00 00 DB 0,0,0,0,0,0,0,0 -0890 00 00 00 00 - - ; - ;EXTRA is a large buffer area for general patching. Some versions of - ;the WINSTALL installation program use EXTRA. Whenever EXTRA is used, - ;RAM1ST must be changed to point to the first available byte within EXTRA - ;that is still available for WordStar's use. If all of EXTRA is used, - ;RAM1ST should point to endpat. - ; -0894 RAM1ST:: -0894 0896 DW EXTRA ;First location in EXTRA that WordStar can use - ; -0896 EXTRA:: DS 512 ;Patch area -0A96 endpat:: ;End of patch area - - -0A96 08 0C 57 UDATE: DB 08,12,87 ;User area version date - - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/PRINT.TST b/Source/Images/hd_cpm3/s1/u0/PRINT.TST deleted file mode 100644 index b8dc204a..00000000 --- a/Source/Images/hd_cpm3/s1/u0/PRINT.TST +++ /dev/null @@ -1,143 +0,0 @@ -.hePRINT.TST Features of Your Printer -.f1 WordStar -.f2 Print test -.f3 Page # -.oj on - WordStaò anä Youò Printer - -WordStar‚  workó  witè á widå rangå oæ printeró anä offeró  yoõ  á -varietù oæ prinô enhancements® Whetheò youò printeò caî producå -thå  prinô enhancementó outlineä iî thió documenô dependó oî  itó -capabilities®   Pleaså notå thaô noô alì printeró arå capablå  oæ -showinç alì thå exampleó below. - -Speciaì Printinç Capabilities - -WordStaò supportó thå followinç speciaì printinç capabilities: - - ª Boldface¬ Doublå strike - * Italics/Alternatå ribboî color - * Strikå out - * Overprinô (aó iî co^te) - * Noncontinuouó underline¬ anä -.ul on - * Continuouó underline -.ul off - - * SuperScript¬ SubScript - - * anä almosô anù combinatioî -­ WordStar - -Characteò Width - -Somå  printeró  wilì  supporô  WordStar‚  commandó  foò   variablå -characteò widths® - -.cw 24 -µ characteró peò inch® (.C× 24) -.cw 20 -¶ characteró peò inch® (.C× 20) -.cw 14 -8.¶ characteró peò inch® (.C× 14) -.cw 12 -1° characteró peò inch® (.C× 12) -.cw 10 -1² characteró peò inch® (.C× 10) -.cw 7 -17.± characteró peò inch® (.C× 7) -.cw 12 - -Youò printeò caî alsï bå seô tï "toggle¢ betweeî normaì pitcè anä -alternatå pitch: - -     Thió  sentencå ió printeä witè thå normaì 1°-pitcè  setting¬ -     theî toggleä tï 1² pitch¬ theî bacë tï normal. -.cw 7 - -Yoõ caî alsï changå thå normaì anä alternatå characteò widths: - -.cw 14 -.rm 55 -     Thå  "normal¢ characteò widtè ió 1´ (8.¶ cpi©  anä -     thå alternatå characteò widtè ió · (17.± cpi). -.pa Š.rm 65 -.cw 10 - -.cw 12 -Linå Height - -Yoõ caî alsï uså differenô linå heights. - -.lh 16 -Thió ió aî examplå oæ variablå linå height® (.LÈ 1¶ ­ ³ lpi) -.lh 12 -Thió ió aî examplå oæ variablå linå height® (.LÈ 1² ­ ´ lpi) -.lh 8 -Thió ió aî examplå oæ variablå linå height® (.LÈ ¸ ­ ¶ lpi) -.lh 6 -Thió ió aî examplå oæ variablå linå heighô® (.LÈ ¶ ­ ¸ lpi) -.lh 8 - -Proportionaì Printing - -.ps on -.uj on -WordStar‚  alsï supportó proportionaì printinç foò  mosô  printeró -thaô  havå  it®   Yoõ  selecô  proportionaì  fontó  bù   changinç -characteò widthó aó iî thå followinç examples: - -.cw 22 -Thió ió characteò widtè 22. -.cw 11 -Thió ió characteò widtè 11. -.cw 9 -Thió ió characteò widtè 9. -.cw 7 -Thió ió characteò widtè 7. -.uj dis -.ps off -.cw 12 - -Other - -Phantoí Spacå¬ Phantoí Rubout - -WordStaò maù allo÷ yoõ tï prinô speciaì characteró (foò  example¬ -á  paragrapè  sigî  oò centó sign© bù  usinç  thå  phantoí  spacå -commanä (^PF© oò thå phantoí rubouô commanä (^PG© iî á  document® -Foò  youò  printer¬ thå phantoí spacå characteò isº  ¬  anä  thå -phantoí rubouô characteò isº . - -Switchinç tï Drafô Mode - -.lq off -Doô matriø printeò driveró allo÷ switchinç froí NLÑ (neaò  letteò -quality© modå tï drafô modå foò fasteò printing. -.lq on - -Microspacå Justification - -.uj on -WordStar‚   allowó  microspacå  justification¬  iæ  youò   printeò -supportó  it¬ tï producå evenlù spaceä wordó iî  justifieä  text® -Microspacinç spreadó thå whitå spacå betweeî wordó (anä sometimeó -betweeî thå letteró oæ eacè word© aó evenlù aó possible® -.uj dis -.pa ŠLookinç Aô Thió Filå Onscreen - -Iæ  yoõ wanô tï seå thå embeddeä commandó thaô produceä thå  texô -yoõ arå no÷ reading¬ follo÷ theså steps: - -1 Aô thå Openinç Menu¬ presó D‚ tï ediô á document. - -² Aô thå prompô foò filename¬ typå print.tsô anä presó Enter. - -Noticå thaô thå texô onscreeî includeó somå characteró thaô don'ô -appeaò  iî  thå  printeä copy® Foò example¬ á  headinç  linå  ió -identifieä  bù  thå  doô  commanä .he®   Wordó  iî  boldfacå  arå -surroundeä bù ^ anä appeaò eitheò highlighteä oò iî á  differenô -coloò oî youò screen. - -Tï continuå viewinç thå contentó oæ thió file¬ ¬ presó ^C® Presó -^R‚ tï movå iî thå otheò direction. - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/READ.ME b/Source/Images/hd_cpm3/s1/u0/READ.ME deleted file mode 100644 index 3f1cf909..00000000 --- a/Source/Images/hd_cpm3/s1/u0/READ.ME +++ /dev/null @@ -1,2141 +0,0 @@ - --THE README FILE-- - ------------------------ - -README contains late-breaking news and tips about WordStar, -and information about printers. - - -THE DISKS THAT CAME IN YOUR PACKAGE ------------------------------------ - -The file HOMONYMS.TXT is included on the Speller disk -contrary to what is listed in Appendix D. - - -INSTALLATION ------------- - -WINSTALL and WSCHANGE - - WordStar has two installation programs: - - o WINSTALL contains the basic choices to install WordStar. - It is recommended for all users. - - Be sure and install your valid disk drives since WordStar - running under CP/M cannot recover from attempts to access non- - existent disk drives. - - o WSCHANGE contains every installation and customization - choice. It is designed for advanced users and users who - want to customize WordStar after they're familiar with it. - Use the menu listing below for a directory of the menus - in WSCHANGE. - -Directory of WSCHANGE Menus - - The chart below shows the organization of menus in WSCHANGE. - Print it out and refer to it as you customize WordStar. - - Main Installation Menu - - A Console - A Monitor - A Monitor selection - B Monitor name - C Screen sizing - B Function keys - C Monitor patches - A Special characters - B Cursor control - C Screen control - D Keyboard patches - A Function keys - B Save function keys - E Interface patches - A Console busy handshaking - B Special I/O subroutines - B Printer - A Printer choices - A Printer selection - B Printer name - C Default printer driver - B Printer driver library - A Select library file - B Create smaller library - C Add new printer driver - D Change printer driver data - C WS printer patches - A Custom print controls, printer initialization - - NOTE: Disregard the "CUSTOM & SIMPLE Controls Save CUSTOM/SIMPLE - Controls" option shown. This is not available from this menu. - - D Printing defaults - E Printer interface - A Printer port selection - B Printer busy handshaking - C Printer subroutines - C Computer - A Disk drives - A Valid disk drives - B Maximum valid user number - C Delay disk access if typing - B Operating system - A Single-user system - B Multi-user MP/M - C Multi-user Turbo DOS - D ZCPR3 - C Memory usage - D WordStar files - E Directory display - F Computer patches - D WordStar - A Page layout - A Page sizing & margins - B Headers & footers - C Tabs - B Editing settings - A Edit screen & help level - B Typing - C Paragraph alignment - D Blocks - E Erase & unerase - F Lines & characters - G Find & replace - H WordStar 3.3 compatibility - I Printing defaults - C Other features - A Spelling checks - B Nondocument mode - C Indexing - D Shorthand (key macros) - E Merge printing - F Miscellaneous - E Patching - A Auto patcher - B Save settings - C Reset all settings - -MEMORY USAGE ------------- - - WordStar requires a minimum TPA size of 50 kbytes to run - using the factory defaults. The TPA is the amount of memory - available in your computer for use by programs that have a - file type of COM. To see how big the TPA is in your computer, - press the question mark key (?) at the Opening Menu. - - The amount of memory required by WordStar can be reduced by - approximately 3 kbytes if necessary. Use the WSCHANGE program - to select the minimum memory configuration option. The menu - will show you what capabilities are being reduced. - - WordStar uses a general-purpose buffer for a variety of - tasks. WordStar allocates memory to this buffer for editing, - for merge printing, and at the Opening Menu (see BFSIZE in - PATCH.LST). The buffer used for editing is usually the most - sensitive to a reduced TPA size. (You may be able to use the - Opening Menu and print, but there may be insufficient memory - for editing.) - - The merge print buffer is used only to hold merge print - variable names and data. Increase it if you run out of memory - while merge printing. - - The Opening Menu buffer is used primarily to hold the file - directory, and for miscellaneous tasks. - - -LOW-MEMORY INDICATOR IN STATUS LINE ------------------------------------ - - If the Low-Memory indicator appears in the status line, it - means that WordStar was unable to complete some function. - The most common symptoms are: the line number in the - status line is wrong, or a paragraph alignment could not be - completed. You may correct the line counter by saving your - file, exiting WordStar, and re-loading your file. To correct - the paragraph alignment, move your cursor to the point where - paragraph alignment stopped, and then press ^B again. - - The reason this comes up is that WordStar was not able to fit - a big enough chunk of text into memory at one time. - - When you first begin editing, WordStar uses the value from - EDSIZE in the user area to determine the minimum amount - of memory required for a page of text. The default - is set for approximately a 55 line by 66 column page. If - your page size is routinely larger than this, you may want - to increase EDSIZE. Multiply the number of lines by the - number of columns, and divide by 128. - - If the Low-Memory indicator comes on while printing, it is due - to either the same reasons as for editing, or there is - insufficient memory to print the text proportionally spaced. - The amount of memory required depends on which printer - driver you are using. If you aren't using the .PS ON dot - command to turn proportional spacing on in your document, - low memory won't be a problem. Also, WordStar uses more - memory for merge printing than it does for regular printing - (around 2.5 kbytes more). - - The Low-Memory indicator will also appear when a full disk error - is encountered during editing. Treat the disk-full error as you - would normally. - - -RAM-RESIDENT PROGRAMS ---------------------- - - RAM-resident programs, such as SmartKey, reduce the amount of - working memory (TPA) that WordStar can use. The new features in - WordStar, such as shorthand, may reduce the need for these - RAM-resident programs, thus freeing memory for WordStar. - - -ZCPR3 SUPPORT -------------- - - In order to enable the ZCPR facilities within WordStar, the user - must use the Z3INS utility provided with ZCPR to install the - address of the ZCPR "environment" into WordStar. The environment - contains information that WordStar uses to support ZCPR-specific - functions. - - Generally, the user should log onto the drive containing the file - WS.COM, and issue the command: - - Z3INS SYS.ENV WS.COM - - The user should also run either WINSTALL or WSCHANGE to further - install WordStar for ZCPR. However, this is not mandatory because - the only thing that happens is that the WordStar sign-on says - "ZCPR3," and the LGLUSR location in the user area is changed for a - maximum user number of 31. (The normal default for LGLUSR is 15.) - - Once the user has installed WordStar for use with ZCPR, the user - will be able to use the following ZCPR features: - - - A named directory may be used when logging onto a new drive/user. - - - A named directory may be used instead of a drive/user as part - of any file name. - - - The drive/user always appears above file directories. (For CP/M - only the drive letter is shown if the user number is zero.) - - - The directory name also appears above the directory if one has - been defined for the currently logged drive/user. - - - If WordStar does not find its OVR files on the current drive and - user, it will search the drives and user numbers in the ZCPR - search path rather than using its standard search pattern. - - - WordStar installs itself as a ZCPR "shell" process which lets the - user enter any legal ZCPR command when running a program. (CP/M - can only run programs that are COM files.) - - -OSBORNE USERS -------------- - - The command to change a hard carriage return to a soft carriage - return (document mode) or to turn Auto-indent ON (nondocument - mode) does not function on the Osborne because of a limitation - in its BIOS. The following patch can be applied to change the - command from ^^ to ^- (Ctrl-Hyphen): - - Using DDT or SID in the file WSMSGS.OVR: - - At 02DA replace 1E with a 1D - At 02EF replace 1E with a 1D - At 0359 replace 1E with a 1D - At 06B2 replace 1E with a 1D - At 06C9 replace 1E with a 1D - - At the system prompt type SAVE 53 WSMSGS.OVR - - For more information on how to use SID or DDT, see your CP/M - reference guide. As always, be sure and apply the patch to a - COPY of the file. - - -INSTRUCTIONS FOR TWO FLOPPY DISK COMPUTERS ------------------------------------------- - - Do not remove the Program disk while you are using WordStar. - - The Printer Driver Library file (WSPRINT.OVR) on the WordStar - program disk is much smaller than the Printer Driver Library - file contained on the disk labeled PRINTER. Be sure to read the - section in "Starting" that discusses the printer library file. - - -RUN A PROGRAM -------------- - - Once you press R you can type the drive and user number for the - program you want to run. You may run only .COM files. CCP commands, - such as DIR cannot be used. - - -INDEXING --------- - -Using StarIndex - - StarIndex 1.01 works with files created with this release of - WordStar. - -"Can't Use That Printer" Message - - When WordStar creates an index or table of contents, it uses - the printer drivers $INDEX and $TOC. If you created a smaller - WSPRINT.OVR file, you may have left these drivers out. To - return them to the file, copy the original WSPRINT.OVR file - onto your disk. When you create a smaller file again, be sure - to save these drivers. See Appendix C in the WordStar manual - for a list of other drivers to save. - - -SPELL CHECKING --------------- - - Dual floppy disk users: - - Unless you have sufficient room on your working WordStar program - disk for the files TW.COM, SPELL.COM, MARKFIX.COM, REVIEW.COM and - MAINDICT.CMP you will not be able to run a spell check from the - Opening Menu. You will need to exit WordStar and replace the - working WordStar program disk with the dictionary disk you created - during installation. This disk should contain the files listed - above. Make sure the disk in drive B has the file you want to - spell-check. - - Follow the directions for running a spell check in The WORD Plus - manual. - - -UPGRADING FROM A PREVIOUS RELEASE ---------------------------------- - - This release of WordStar contains many new features and commands. - See the "What's New" booklet for a complete list. The following - changes came in too late to be included in the documentation. - -Printer Patches - - Previous versions of WordStar treat most dot matrix printers - and other non-daisy wheel printers as a DRAFT printer with a - few patchable items. Because of this, many users have used - these patches to be able to use certain features of their - printers. Sometimes the patches have been quite extensive, and - some users have many files that count on them. - - The printer drivers of WordStar Release 4, on the other hand, - are very powerful. Almost every driver recognizes all the print - controls and all the dot commands. In fact, if a document is - written to be printed on one kind of printer, it is likely that - it will also print fine on some other printer. - - However, if you want to use your existing files with WordStar - 4, and those files rely on the user area being patched in a - special way, you can probably do so by moving the patches into - WordStar 4, and using the CUSTOM or SIMPLE printer driver. - - On the INSTALL disk is a program called MOVEPRN.COM that - copies the printer driver portion of the previous release's - user area into files that can be installed into Release 4 with - the "auto patcher" feature. - - Copy the program MOVEPRN.COM onto the disk containing the - WS.COM file for the previous version. Type - - MOVEPRN WS.COM FILE1.PAT FILE2.PAT - - MOVEPRN extracts the proper portions of the user area and - writes them into two files that may then be used with the "auto - patcher" feature of WSCHANGE. - - FILE1.PAT is to be used with the general patching menu - (Choose E "Patching" on the WSCHANGE Main Menu, then A "Auto - Patcher"). FILE2.PAT should be used to install strings first - into the SIMPLE driver, and then into the CUSTOM driver (choose - B "Printer" on the WSCHANGE Main Menu, then B "Printer driver - library", D "Change printer driver data" and D "Driver auto - patcher"). - - Test print your document first with the SIMPLE driver, and then - with the CUSTOM driver to see which one produces the most - satisfactory results. - - Also read Appendix C for more information on using the Auto - Patcher. - - -Hanging Indents - - For WordStar Professional Release 4, MailMerge reformats indented - text created with ^OG to the current margins. If you want the text - to remain indented, use embedded ruler lines or the .RM, .LM, - and .PM commands. See the "Reference Guide" for more information. - - Pressing ^OG to wrap back to the first tab on the ruler line after - having reached the last tab works the same way it did in previous - versions of WordStar, contrary to what is stated in the manual. - - -TERMINALS ---------- - - WordStar comes installed for an "idealized" special terminal. - WINSTALL and WSCHANGE allow you to install many terminals by - name, thus allowing WordStar to take advantage of the special - features that the terminal might support, such as underlining - or the function keys. - - Use either WINSTALL or WSCHANGE to pick your specific terminal - or computer screen from the Monitor menu. If your terminal - isn't on the menu, it probably emulates one of those that is - there. Look in your terminal documentation to find out. - - After you install WordStar for the proper terminal, run - WordStar and open the file PRINT.TST to see which attributes - (such as bold and underline) work on your screen. - WordStar will highlight the following in some way... - - Bold (^PB) - Underline (^PS) - Strike-out (^PX) - Subscript (^PV) - Superscript (^PT) - Doublestrike (^PD) - Italics (^PY) - Blocks (^KB, ^KK) - Error messages - - Most of the time, normal text will be shown in dim intensity, - and highlighted text will be shown in bright intensity. You - may have to use a brightness and/or contrast knob to adjust - your screen the first time you use WordStar this way. - - If your dim intensity is too dim to see well, and you can't - adjust it, you can change the BRITE flag to ON using WSCHANGE. - This will invert bright and dim in your text, so that regular - text is displayed bright, and highlighted text will be - displayed as dim. However, text in the menus is not affected. - - -DISPLAY PROBLEMS WITH TERMINALS -------------------------------- - - Once you have installed WordStar for the proper terminal, you - may still experience display problems. - - If text from the previous screen remains after WordStar - displays a new screenful of text, the most likely cause is - cursor wrap. Basically, WordStar must know what happens to the - cursor when a character is displayed at the rightmost position - of the screen. It can either remain at the right edge, or it - can wrap to the beginning of the next line. The WRAP flag in - WordStar must be set either on or off to correspond to the - way the terminal works. (It is generally set for the - terminal's factory default, but the default can usually be - changed using the terminal's setup mode.) - - Another possible cause for display problems is your terminal's - incomplete emulation of some other terminal. The most - common differences are... - - Line insert (LININS), line delete (LINDEL), - Erase to end of screen (ERAEOS), - Erase to end of line (ERAEOL), - And, erase screen (ERASCR). - - Look in the manual for your terminal and use WSCHANGE to see - if the control sequences match. - - -PRINTERS --------- - -WHAT'S IN THIS SECTION - - This section contains the following information: - - Choosing a Printer - Setting Up Your Printer - Printer Drivers - Proportional Printing - Laser Printers - Information on Specific Printers - -CHOOSING A PRINTER - - WordStar is ready to work with over 100 printers. The printer you - choose during installation becomes your default printer. However, - when you print a document, you can choose any other printer. To - choose a default printer, follow these steps: - - 1. Look at the Printer Information brochure that came in your - package. The first chart shows the printers listed on the - Printer Selection Menus. If your printer is on the menu, - simply choose it during installation. - - 2. If your printer isn't listed on the menu, it may work like a - printer that is. Refer to the second chart in the Printer - Information brochure for a list of printers that work like - printers on the menu. When WordStar asks you to choose a - printer, choose the printer that works like yours. - - 3. If neither chart lists your printer, choose Typewriter Printer - (if your printer can backspace) or Draft Printer (if it can't). - These choices may not take advantage of all your printer's - features, but they will work with almost any printer. - - Note: If you choose Draft or Typewriter, you can modify custom - print controls and printer initialization. - - If you want to make more modifications to take advantage of your - printer's feature, choose the Custom or Simple drivers, then use - the WS Printer Patches section of WSCHANGE to tell WordStar the - codes for your printer. Refer to your printer manual for these - codes. Some printers work better with the Custom driver and some - with the Simple driver. Try using both and see which works better - with your printer. See the "Reference Guide" for more information. - -SETTING UP YOUR PRINTER - -Choosing a Printer Port - - Each printer is connected to a printer port at the back of - the computer. WordStar looks for printers on the LST: port. - If your printer is connected to a different port, use - WSCHANGE to tell WordStar the correct port. - -Testing Your Printer Connection - - At the operating system prompt, type "PIP LST:=READ.ME." This - file should be printed by your printer. If it is not, your printer - may be connected to a different port. See your computer reference - manual, and the section on the STAT command in your CP/M - reference manual for more information. - - -PRINTER DRIVERS - - The WSPRINT.OVR file on the Printers disk contains a printer - driver for each printer on the Printer Selection Menu. The printer - driver for a printer contains all the codes WordStar needs to work - with that printer. - - Each printer driver has a short name. If you choose a printer when - you print a document, you see the names of the printer drivers, not - the names of the printers. - -PROPORTIONAL PRINTING - - WordStar supports proportional printing on a number of printers. - To turn on proportional printing, either install WordStar to - default to proportional printing, or place a ".PS on" command - in your document. At print time, WordStar selects the - appropriate proportional font based on the character width - (.CW) currently in effect. - - The specific printer descriptions later in this section show - recommended character widths for proportional typefaces. - These widths are for a normal mix of upper- and lowercase - letters. If you have many words or phrases all in uppercase - or if you want your text less densely printed, choose a larger - character width. - - While WordStar mostly sets character widths based on the - proportional-width table in the driver, on the more advanced - daisy wheel printers, WordStar uses the printer's proportional- - spacing mode. WordStar determines how much white space is needed - to right-justify the line based on its own proportional width - tables. If the table values don't match the wheel installed, - WordStar won't be able to justify the line correctly. - - WordStar sends standard ASCII characters; if a proportional wheel - uses a different spoke mapping, set up the printer to handle this. - -LASER PRINTERS - - WordStar supports laser printer features such as font changes - and proportional spacing. - - WordStar supports several laser printers: the Canon LPB-8 A1 & A2; - the Hewlett-Packard LaserJet, LaserJet+, and LaserJet 500+; - and the Ricoh LP4080. Refer to the "Specific Printer - Information" section of this file for information on these - printers. General notes about using laser printers are given below. - -Paper Size and Margins - - Laser printers come with preset page margins. You need to - compensate for these margins by changing page length in your - WordStar documents. The chart below shows the recommended - settings for 8 1/2 X 11 inch paper for both portrait and landscape - orientations. These settings allow 55 lines of text for portrait - orientation and 40 lines of text for landscape orientation (at 6 - lines per inch). They also allow for a footer of up to 3 lines - and a one-line header. If you use multiple-line headers, adjust - the top margin accordingly. - - Dot Default Portrait Landscape - Setting Command Value Orientation Orientation - ------- ------- ------- ----------- ----------- - page length .PL 66 62 47 - top margin .MT 3 2 2 - bottom margin .MB 8 5 5 - header margin .HM 2 1 1 - footer margin .FM 2 2 2 - - If the laser printer is your primary printer, you can use WSCHANGE - to make these settings the defaults. - - Because laser printers leave small margins at the left and right - sides of the page, you may want to use a smaller page offset - setting (the default is .PO 8). - -Form Feeds - - When you print with a laser printer, answer Y for yes to the "Use - form feeds (Y/N)?" prompt at print time. (The default is NO.) If - the laser printer is your primary printer, you can use WSCHANGE to - change the default to yes. - -WordStar Commands for Font Selection - - The WordStar dot commands and print control commands listed below - determine the fonts used for printing a document. - - .PR .PR OR=L selects landscape orientation; .PR OR=P (or just - .PR OR) selects portrait orientation (the default). If - either of these commands appears after the first printing - line on a page, the orientation will not change until the - following page. - - .PS .PS ON selects proportionally spaced characters; .PS OFF - (the default) selects fixed-spaced characters. - - .CW The character-width setting (.CW followed by the width in - 120ths of an inch) determines the character pitch and font - selected for fixed-width printing. For proportional fonts, it - determines the point size and proportional-width table - selected. - - .LQ .LQ ON selects near letter quality print (if supported by - your printer). LQ OFF selects draft quality print. Default - is ON. - - ^PY The italic print control toggles between normal and italic - characters when the appropriate italic font is available. - - ^PB The boldface print control toggles between normal and bold - characters when the appropriate bold font is available. - - ^PD The double strike print control used with the laser printers - toggles overprinting with a horizontal offset of 1/120" - between the two character images. This allows a bold effect - where no bold font is available. - - ^PA ^PA turns alternate pitch on. Use .CW to assign different - character widths to normal pitch (see ^PN below) and alternate - pitch so that each pitch accesses a different font. You can - then change fonts by switching between the two pitches. This - is the only way to use two fonts on the same line. - (See "Character width" and "Pitch" in the "Reference Guide.") - - ^PN ^PN turns normal pitch on. You can use it with ^PA as - described above. - - ^P@ When working with columns, if you use alternate and normal - pitch for two fonts, or if you use proportional spacing, you - may need to use ^P@ to make sure the columns line up. - Remember that the column position set with ^P@ is determined - by the normal pitch character width. (See "Columns" and - "Proportional spacing" in the "Reference Guide." - -INFORMATION ON SPECIFIC PRINTERS - - This section describes the capabilities of each printer listed on - the Printer Selection Menu. The printers are listed in alphabetical - order (except for the generic printers such as "Draft," - "Typewriter," "Custom," "Simple," and the various print-to-disk - options, which are listed first). - - There is a chart for each printer explaining how features work and - listing any special notes about the printer. Each printer is - described in the following format: - -PRINTER NAME ----- Driver: (short name) - - ^PY Effect of italics/ribbon color print control - ^PT/V Subscript/superscript information - .CW Information on available character widths and fonts. The - chart shows the .CW, .LQ, and .PS settings required to use - different fonts. - - .LQ OFF .LQ ON .PS ON Font Name - ------- ------ ------ --------- - .cw val .cw val recommended value (range) font 1 - .cw val .cw val recommended value (range) font 2 - - .UL Continuous-underline information (if restrictions) - .UJ Microspace-justification information (if restrictions) - - N/A means a command has no effect on this printer. - - NOTES Switch settings, special features, anomalies. - -DRAFT PRINTER (nonbackspacing) ----- Driver: DRAFT - - ^PD Overprints the line twice - ^PB Overprints the line three times - ^PS Overprints the underscore character in a separate pass - ^PT/V Prints super/subscripts with a full line between - super/subscript and text - .LH Sets line height only in multiples of full lines - .CW N/A - .PS N/A - .LQ N/A - .UJ N/A - - NOTES This driver works with any printer that doesn't automatically - perform a line feed when it receives a carriage return command. All - overprinting is done by returning the carriage and passing over the - line again. - -TYPEWRITER PRINTER (backspacing) ----- Driver: TYPEWR - - ^PD Backspaces and overprints each character twice - ^PB Backspaces and overprints each character three times - ^PS Backspaces and overprints the underscore character - ^PT/V Prints super/subscripts with a full line between - super/subscript and text - .LH Sets line height only in multiples of full lines - .CW N/A - .PS N/A - .LQ N/A - .UJ N/A - - NOTES This driver works with any printer that doesn't automatically - perform a line feed when a it receives a carriage return command, - and responds to a backspace character. Overprinting is done by - backspacing. - -AUTO LINE FEED PRINTER (backspacing) ----- Driver: AUTOLF - - ^PD Backspaces and overprints each character twice - ^PB Backspaces and overprints each character three times - ^PS Backspaces and overprints the underscore character - ^PT/V Prints super/subscripts with a full line between - super/subscript and text - .LH Sets line height only in multiples of full lines - .CW N/A - .PS N/A - .LQ N/A - .UJ N/A - - NOTES This driver works with any printer that automatically - performs a line feed when it receives a carriage return character, - and responds to a backspace command. Overprinting is done by - backspacing. - -SIMPLE CUSTOMIZABLE PRINTERS ----- Driver: SIMPLE - - All print controls cause control strings (on and off) in - the user area to be sent to the printer. These strings - are used by both the SIMPLE and CUSTOM drivers. They can - be installed with the WSCHANGE program. - - .LQ Controlled by user area strings - .PS Controlled by user area strings - .CW N/A - .UJ N/A - .LH N/A - - NOTES This printer driver prints the line in one pass, sending - control strings from the user area to select print enhancements. - -CUSTOMIZABLE PRINTERS ----- Driver: CUSTOM - - All print controls cause control strings (on and off) in - the user area to be sent to the printer. These strings - are used by both the SIMPLE and CUSTOM drivers. They can - be installed with the WSCHANGE program. - - .LQ ON/OFF controlled by user area strings - .PS ON/OFF controlled by user area strings - .LH Sets line height only in multiples of full lines - .UJ N/A - .CW N/A - - NOTES This driver prints the line in multiple passes, sending - control strings from the user area to select print enhancements. - -PREVIEW TO DISK ----- Driver: PRVIEW - - This driver prints documents to the PREVIEW.WS file to allow - you to preview the format and appearance of a document before - printing. Headers, footers, and pagination are shown correctly - and print controls remain in the file to display onscreen - attributes. Dot commands are not printed. - -PRINT TO DISK WITHOUT PRINT CONTROLS ----- Driver: ASCII - - This driver prints to the ASCII.WS file, stripping headers and - footers, high bits, and print controls. - -PRINT TO DISK WITHOUT HEADERS AND FOOTERS ----- Driver: XTRACT - - This driver prints to the XTRACT.WS disk file, stripping headers - and footers, but preserving high bits and print controls. - -ANADEX 9500A, 9500B ----- Driver: 9500 - - ^PY N/A - ^PT/V Even superscript roll - - .CW .CW Font name - --- --------- - 9 13.3 cpi - 10 12 cpi - 12 10 cpi - 18 6.7 cpi - 20 6 cpi - 24 5 cpi - - .LH 1/24" resolution, use even values - .UJ This printer has no incremental horizontal positioning - .PS N/A - .LQ N/A - -ANADEX 9501B, INTEQ 5100B ----- Driver: 9501B - - ^PY N/A - ^PT/V Even superscript roll - - .CW .CW Font name - --- --------- - 7 16.7 cpi - 8 15 cpi - 10 12.5 cpi - 12 10 cpi - 14 8.3 cpi - 16 7.5 cpi - 20 6.2 cpi - 24 5 cpi - - .LH 1/24" resolution, use even values - .UJ This printer has no incremental horizontal positioning - .PS N/A - .LQ N/A - -C. ITOH STARWRITER 1550 AND 8510 ----- Driver: C1550 - - ^PY N/A - ^PT/V Prints full-size characters with roll - - .CW .CW Font Name - --- --------- - 7 compressed - 10 elite - 12 pica - 14 expanded compressed - 20 expanded elite - 24 expanded pica - - .LQ N/A - .PS N/A - .UL Continuous underlining suppresses microspace justification - -C. ITOH F10 STARWRITER ----- Driver: QUME - - See Diablo 630, 1610, 1620 Daisy Wheel. - - Note: Proportional printing was tested with a Theme 10 wheel. - -CANON LBP-8A1 AND LBP-8A2 LASER PRINTER ----- Driver: LBP8 - - ^PY Selects italics if appropriate font installed - ^PT/V Prints full-size characters with roll - .PS .PS - .CW OFF ON Font Name - --- -- --------- - 6 - 20 cpi - 8 - 15 cpi - 9 - 13.3 cpi - 10 - 12 cpi (elite) - 12 - 10 cpi - 20 - 6 cpi - 24 - 5 cpi - 16 - 7.5 cpi - - 7 (0-8) Garland 8 point - - 10 (9-11) Garland 12 point - - 14 (12-17) Expanded 8 point - - 20 (18-30) Expanded 12 point - - .LQ N/A - .PL For 11 inch paper, a value of 62 is recommended - .PR OR "=Landscape" or "=Portrait" to select orientation - - NOTES Answer yes to the "Use form feeds" prompt. This driver is - configured to select all the built-in fonts in the LBP8, as well - as fixed pitch cartridges and the Garland PS cartridge. Other - proportional cartridges require modifying the proportional spacing - tables with WSCHANGE. For more information on laser printers, see - the "Laser Printers" section above. - -CITIZEN MSP ----- Driver: CITMSP - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - - .CW .CW Font Name - --- --------- - 7 compressed - 10 elite - 12 pica - 14 expanded compressed - 20 expanded elite - 24 expanded pica - - .LH Use even values. Driver operates at 2/48 resolution. - .PS N/A - .UJ Microjustification slows printing. Continuous underlining - suppresses microjustification. - - -DATAPRODUCTS PAPER TIGER SPG-8050 & SPG-8070 ----- Driver: SP8050 - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, prints full-size - .LQ .LQ .PS - .CW ON OFF ON Font name - --- --- --- --------- - 7 7 5 (0-6) condensed - 10 10 8 (7-8) elite - 12 12 10 (9-13) pica - 14 14 - expanded condensed - 20 20 16 (14-17) expanded elite - 24 24 20 (18-30) expanded pica - -DIABLO 630, 1610, 1620 DAISY WHEEL ----- Driver: DIABLO - - ^PY Selects red/black ribbon color - ^PT/V Prints super/subscripts in separate pass with specified roll - .CW Supports any value from 0 to 30. Usual fixed pitch values - are 8 (15 cpi), 10 (12 cpi), and 12 (10 cpi). - .BP ON selects bidirectional printing; OFF selects left-to-right - printing - .LQ N/A - .UL Continuous underlining does not suppresses microspace - justification. Continuous underlining may be irregular. - .PS ON selects proportional spacing; OFF selects fixed pitch - spacing. If a proportional print wheel has a non-standard - spoke pattern, configure the printer to translate spoke - position into the appropriate character. This driver - explicitly positions each character when proportional spacing - is selected. - - NOTES The proportional spacing tables are set up for a Diablo - metal 96 character BOLD PS wheel. - -DIABLO 630 DAISY WHEEL WITH WP OPTIONS ----- Driver: 630WP - - ^PY Selects red/black ribbon color - ^PT/V Prints super/subscripts in separate pass with specified roll - .CW Supports any value from 0 to 30. Usual fixed pitch values - are 8 (15 cpi), 10 (12 cpi), and 12 (10 cpi). - .LQ N/A - .UL Continuous underlining does not affect microspace justifi- - cation - .PS ON selects proportional spacing; OFF selects fixed pitch - spacing. If a proportional print wheel has a non-standard - spoke pattern, configure the printer to translate spoke - position into the appropriate character. This driver sends - codes to the printer to turn proportional spacing on and off, - and the printer controls character to character spacing. - - NOTES The proportional spacing tables are set up for a Diablo - metal 96 character BOLD PS wheel. - -DIABLO 630 DAISY WHEEL, EXTENDED CHARACTER SET ----- Driver: 630ECS - - ^PY N/A - ^PT/V Prints super/subscripts in separate pass with specified roll - .CW Supports any value from 0 to 30. Usual fixed pitch values - are 8 (15 cpi), 10 (12 cpi), and 12 (10 cpi). - .LQ N/A - .UL Continuous underlining does not affect microspace justifi- - cation - .PS ON selects proportional spacing; OFF selects fixed pitch - spacing. If a proportional print wheel has a non-standard - spoke pattern, configure the printer to translate spoke - position into the appropriate character. This driver sends - codes to the printer to turn proportional spacing on and off, - and the printer controls character to character spacing. - - NOTES The proportional spacing tables have been set up for a Diablo - metal 96 character BOLD PS wheel. - -DIABLO C150 & C200 COLOR JET PRINTERS ----- Driver: C150 - - ^PY Selects red/black ink - .CW 10 characters per inch only - .LH 1/30" resolution - .PS N/A - .LQ N/A - -EPSON FX-80 AND FX-100 ----- Driver: FX80 - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - - .CW .CW Font Name - --- --------- - 7 compressed - 10 elite - 12 pica - 14 expanded compressed - 20 expanded elite - 24 expanded pica - - .LH Use even values. Driver operates at 2/48" resolution. - .LQ N/A - .PS N/A - .UL Continuous underlining suppresses microspace justification - .UJ Microspace justification slows printing. Default is OFF. - -EPSON FX-85, FX-185 AND FX-286 ----- Driver: FX85 - - ^PY Selects draft quality italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 6 - - compressed elite - 7 - - compressed - 10 - - elite - 12 12 11 (10-13) courier - 14 - - expanded compressed - 20 - - expanded elite - 24 24 22 (20-30) expanded courier - - .UL Continuous underlining suppresses microspace justification - .UJ Microspace justification slows printing. Default is OFF. - .UJ must be on for proportional text to be right-justified. - -EPSON LQ-800 AND LQ-1000 ----- Driver: LQ800 - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - - - - compressed script - 6 6 - compressed elite - 7 7 6 (0-7) compressed - 8 - subscript 15 cpi - 10 10 - elite - 12 12 10 (8-16) pica - 14 14 - expanded compressed - 16 - expanded script - 20 20 - expanded elite - 24 24 - expanded courier - -EPSON LQ-1500, VERSION 2.0 ----- Driver: LQ1500 - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 7 - - compressed - 10 10 - elite - - - 8 (1-9) subscript 15 cpi - 12 12 11 (10-13) courier - 14 - - expanded compressed - - - 15 (14-18) expanded script - 20 20 - expanded elite - 24 24 20 (19-30) expanded courier - - .UL Continuous underlining suppresses microspace justification. - In proportional fonts, continuous underlining may appear - broken between words. - - NOTES If you have an older LQ-1500 (firmware version 1.8), your - printer will have horizontal position registration problems. For - best results, contact your printer dealer about a ROM upgrade. - -EPSON LX-80 - Driver: LX80 - - ^PY Selects draft mode italics - ^PT/V Prints half height if .SR 0, else full height with roll - - .LQ .LQ - .CW OFF ON Font Name - --- --- --------- - 7 - compressed - 10 - elite - 12 12 courier - 14 - expanded compressed - 20 - expanded elite - 24 24 expanded courier - - .LH Use even values. Driver operates at 2/48" resolution. - .PS N/A - .UL Continuous underlining suppresses microspace justification - .UJ Microspace justification slows printing. Default is OFF. - -EPSON MX-80 AND MX-100 WITH GRAFTRAX+ -EPSON MX-80 III AND MX-100 III ----- Driver: MX80 - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - - .CW .CW Font Name - --- --------- - 7 compressed - 12 pica - 14 expanded compressed - 24 expanded pica - - .LH Use even values. Driver operates at 2/48" resolution. - .LQ N/A - .PS N/A - .UL Continuous underlining suppresses microspace justification - .UJ Microspace justification slows printing. Default is OFF. - - NOTES Older MX-80 and MX-100 printers don't have graphics mode (for - fine horizontal spacing), variable line height setting, printer - controlled underlining, or printer controlled super/subscripts. If - you have one of these printers, use the DRAFT driver, or adapt the - CUSTOM or SIMPLE driver to your needs. - -EPSON RX-80 AND RX-100 ----- Driver: RX80 - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - - .CW .CW Font Name - --- --------- - 7 compressed - 10 elite - 12 pica - 14 expanded compressed - 20 expanded elite - 24 expanded pica - - .LH Use even values. Driver operates at 2/48" resolution. - .LQ N/A - .PS N/A - .UL Continuous underlining suppresses microspace justification - .UJ Microspace justification slows printing. Default is OFF. - -HEWLETT-PACKARD LASERJET PRINTERS - - The following information applies to the LaserJet, the LaserJet+, - and the LaserJet 500+. For general information on laser printers, - see the "Laser Printers" section above. - -The LaserJet Fonts - - The LaserJet has three different types of fonts: - - - The "internal" fonts that came with the printer - - Plug-in cartridges - - Soft fonts that must be downloaded through your computer. - (Only the LaserJet+ and LaserJet 500+ can use downloaded fonts.) - - The fonts available in your LaserJet depend on which cartridge - you have installed and which fonts you have downloaded. - -Font Installation - - Internal Fonts: - - The fonts that came with your printer are already in memory and - ready to use. Different LaserJet models come with different sets - of internal fonts. - - Cartridges: - - Cartridges containing a variety of character fonts can be - inserted into any LaserJet model. See your printer manual for - instructions. - - The font selection guidelines in the sections below contain - information about specific cartridges. The letter that identifies - your cartridge is on the front label, directly following the - number 92286. For example, the Y cartridge is labeled 92286Y. - - Soft fonts: - - Soft, or downloadable, fonts are supplied on disk. These fonts - are not explicitly supported by WordStar. - -LaserJet Font Selection - - Each LaserJet font has several characteristics associated with - it. When a printer driver specifies font characteristics to the - LaserJet, the LaserJet searches its available fonts for the best - match to the characteristics requested. The following table - describes these characteristics, in the order in which the - LaserJet evaluates them when selecting a font. - - Characteristic WordStar Control - -------------- ----------------- - * Orientation (portrait or landscape) .PR OR=P/L - * Symbol Set (Roman-8, USASCII, Printer driver - Line Draw, etc.) - * Proportional or fixed spacing .PS ON/OFF - * Print pitch (fixed-width fonts) .CW - * Character height (point size) .CW - * Character style (upright or italic) ^PY - * Stroke weight (light, medium, bold) ^PB - - Note that symbol set is high in the list of characteristics: - make sure that the driver you select is compatible with the symbol - set of your cartridge or downloaded fonts. The symbol sets used by - each driver are listed in the table in the next section. For example, - if your cartridge has the USASCII Symbol Set, you can't use the - HPLJ:U driver because it uses only the Roman-8 Symbol Set. - -LaserJet Printer Drivers - - WordStar provides two printer drivers for use with different - LaserJet font cartridges. Each of these drivers - lets you print with several of the available fonts. You can - use any of these drivers with the LaserJet, LaserJet+, or - LaserJet 500+, depending on the cartridge. - Refer to the table below to see which driver works - best for you. - - The table lists the following information for each driver: - - o The symbol sets used for fixed and proportional spacing - - These must correspond to the symbol sets on the installed - fonts you want to use. The "Default" symbol set refers to the - one the LaserJet defaults to. - - o The proportional-spacing tables used by the driver - - These tables are part of the LaserJet's method of proportional - spacing. The tables determine the width of each character in a - proportionally spaced font. The fonts corresponding to these - tables are used if available. If the corresponding font is not - installed, the table is still used, and the closest available - font is used. This may cause the spacing to appear too tight or - too loose. In this column, the number is the point size, R stands - for regular, B stands for bold, and I stands for italics (the - LaserJet has separate tables for each of these). - - o The font cartridges that work best with - the symbol sets and tables used by the driver - - The cartridges listed are the only ones directly - supported for use with WordStar. If your cartridge is not - listed, you may still be able to use it. Look at - the font information below and try the most compatible driver. - You may need to try different dot command settings or another - driver. The HPLJET is the most "general purpose" driver, so if - you're not sure which driver to use, try it first. - - Fixed-width Proportional Proportional Downloaded - Driver Symbol Set Symbol Set Tables Fonts/Cartridges - ------ ----------- ------------ ------------- ---------------- - - HPLJET Default Default TmsRmn 8R, F, P, most fixed - 10R,10B,10I - Helv 14B - - HPLJ:B Default USASCII TmsRmn 8R, B - 10R,10B,10I - Helv 14B - - HPLJ:U Roman-8, Roman-8 Helv 6R,8R, U, V - Line Draw 10R,12R,14R - - HPLJ:Y PCSET1 USASCII TmsRmn Y, AC - PCSET2 6,8,10,12,14 - (all in R,B,I) - 18B,24B,30B - - HPL:AD Roman-8, Roman-8 TmsRmn AD - Line Draw 6,8,10,12,14 - (all in R,B,I) - 18B,24B,30B - - The printer driver charts below show the actual fonts that print - with each printer driver and the recommended font cartridges. - The charts show the fonts used for both fixed - and proportional spacing and for different character width (.CW) - settings. - - The recommended .CW settings are shown first. The settings in - parentheses select the same font, but the spacing of characters - within a line may appear tighter or looser. - - After the name of each font, the charts note whether regular (R), - bold (B), and italic (I) fonts are available. If a bold font is - not available, you can use the ^PD (double strike) command to get - a boldface effect. - - The last column shows whether you can print in landscape (chosen - in WordStar with .PR OR=L) as well as portrait orientation. - - To use a particular font, choose the settings listed. For example, - to use the Times Roman 8 font with the HPLJET printer driver, insert - the F cartridge, turn .PS on and set character width to .CW 7. - -HP LASERJET, LASERJET+ (F cartridge and others) ----- Driver: HPLJET - - ^PY Selects italics if appropriate font installed - ^PT/V Prints full-size characters with roll - - Cartridge/ - Soft font .PS .CW Font/Point Size R B I Landscape - --------- --- -------- --------------- - - - --------- - F on 7 (0-7) Times Roman 8 x - 9 (8-11) Times Roman 10 x x x - 13 (12-30) Helvetica 14 x - off 7 (0-11) Line Printer 8.5 x - 12 (12-30) Courier 12 x x - P on 9 (0-30) Times Roman 10 x x x x - off 7 (0-11) Line Printer 8.5 x - 12 (12-30) Courier 12 x x (0-30) - - The following fixed pitch fonts may be available depending - on your cartridge. (Note that these are measure by pitch, - not by point size.): - - .CW Font Name - --- --------- - 7 16.7 pitch - 10 12 pitch - 12 10 pitch - 15 8.1 pitch - 18 6.5 pitch - 21 5.8 pitch - 27 4.5 pitch - - .LQ N/A - .PL For 11 inch paper, a value of 62 is recommended. - Too large a value will cause text to be lost at page bottom. - .PR OR "=Landscape" or "=Portrait" to select orientation. - - NOTES Answer yes to the "Use form feeds" prompt. This driver has - proportional spacing tables for all fonts in the F and P cartridges. - It should also work with many fixed width cartridges. -.p - -HP LASERJET, LASERJET+ (B cartridge) ----- Driver: HPLJ:B - - ^PY Selects italics if appropriate font installed - ^PT/V Prints full-size characters with roll - - Cartridge/ - Soft font .PS .CW Font/Point Size R B I Landscape - --------- --- -------- --------------- - - - --------- - B on 7 (0-7) Times Roman 8 x - 9 (8-11) Times Roman 10 x x x - 13 (12-30) Helvetica 14 x - off 7 (0-11) Line Printer 8.5* x x - 12 (12-30) Courier 12 x x - * Line printer 8.5 is not available in portrait mode - unless the LaserJet+ is used. - - .LQ N/A - .PL For 11 inch paper, a value of 62 is recommended. - Too large a value will cause text to be lost at page bottom. - .PR OR "=Landscape" or "=Portrait" to select orientation. - - NOTES Answer yes to the "Use form feeds" prompt. This driver has - proportional spacing tables for all fonts in the B cartridge. -.p - -HP LASERJET, LASERJET+ (U and V cartridges) ----- Driver: HPLJ:U - - ^PY Selects italics if appropriate font installed - ^PT/V Prints full-size characters with roll - - Cartridge/ - Soft font .PS .CW Font/Point Size R B I Landscape - --------- --- -------- --------------- - - - --------- - U on 5 (0-5) Helvetica 6 x - 7 (6-7) Helvetica 8 x - 9 (8-9) Helvetica 10 x - 11 (10-11) Helvetica 12 x - 13 (12-30) Helvetica 14 x - off 7 (0-11) Letter Gothic 9.5 x - 12 (12-30) Courier 12 x x (0-30) - - V on 5 (0-5) Helvetica 6 x landscape only* - 7 (6-7) Helvetica 8 x "* - 9 (8-9) Helvetica 10 x "* - 11 (10-11) Helvetica 12 x "* - 13 (12-30) Helvetica 14 x "* - off 7 (0-11) Letter Gothic 9.5 x ** - 12 (12-30) Courier 12 x - * No proportional font is available in portrait orientation. - ** With fixed spacing, in portrait orientation, .CW7 (0-11) - produces Line Printer 8.5 on the LaserJet+ and Courier 12 - on the LaserJet. - - .LQ N/A - .PL For 11 inch paper, a value of 62 is recommended. - Too large a value will cause text to be lost at page bottom. - .PR OR "=Landscape" or "=Portrait" to select orientation. - - NOTES Answer yes to the "Use form feeds" prompt. This driver has - proportional spacing tables for all fonts in the U and V cartridges. -.p - -HP LASERJET, LASERJET+ (Y cartridge, AC TmsRmn) ----- Driver: HPLJ:Y - - ^PY Selects italics if appropriate font installed - ^PT/V Prints full-size characters with roll - - Cartridge/ - Soft font .PS .CW Font/Point Size R B I Landscape - --------- --- -------- --------------- - - - --------- - Y on none available - off 7 (0-11) Line Printer 8.5 x x - 12 (12-30) PC Courier 12 x x x - - AC* on 5 (0-5) Times Roman 6 x x x x - 7 (6-7) Times Roman 8 x x x x - 9 (8-9) Times Roman 10 x x x x - 11 (10-11) Times Roman 12 x x x x - 13 (12-14) Times Roman 14 x x x x - 16 (15-18) Times Roman 18 x x - 20 (19-24) Times Roman 24 x x - 25 (25-30) Times Roman 30 x x - off 7 (0-11) Line Printer 8.5 x x (0-30) - 12 (12-30) Courier 12 x - * Other .CW settings may access additional fonts if a - cartridge is also installed. - - .LQ N/A - .PL For 11 inch paper, a value of 62 is recommended. - Too large a value will cause text to be lost at page bottom. - .PR OR "=Landscape" or "=Portrait" to select orientation. - - NOTES Answer yes to the "Use form feeds" prompt. This driver is for - use with the Y cartridge, which provides an IBM PC compatible symbol - set. In addition, this driver has complete proportional spacing - tables for the AC set of downloadable TmsRmn fonts. -.p - -HP LASERJET, LASERJET+ (AD TmsRmn) ----- Driver: HPL:AD - - ^PY Selects italics if appropriate font installed - ^PT/V Prints full-size characters with roll - - Cartridge/ - Soft font .PS .CW Font/Point Size R B I Landscape - --------- --- -------- --------------- - - - --------- - AD* on 5 (0-5) Times Roman 6 x x x x - 7 (6-7) Times Roman 8 x x x x - 9 (8-9) Times Roman 10 x x x x - 11 (10-11) Times Roman 12 x x x x - 13 (12-14) Times Roman 14 x x x x - 16 (15-18) Times Roman 18 x x - 20 (19-24) Times Roman 24 x x - 25 (25-30) Times Roman 30 x x - off 7 (0-11) Line Printer 8.5 x - 12 (12-30) Courier 12 x x (0-30) - - The following fixed pitch fonts may be available depending - on your cartridge. (Note that these are measure by pitch, - not by point size.): - - .CW Font Name - --- --------- - 7 16.7 pitch - 10 12 pitch - 12 10 pitch - 15 8.1 pitch - 18 6.5 pitch - 21 5.8 pitch - 27 4.5 pitch - - .LQ N/A - .PL For 11 inch paper, a value of 62 is recommended. - Too large a value will cause text to be lost at page bottom. - .PR OR "=Landscape" or "=Portrait" to select orientation. - - NOTES Answer yes to the "Use form feeds" prompt. This driver is for - use with the AD TmsRmn downloaded fonts, and for a ROMAN8 or - ROMAN8+LINEDRAW fixed width font cartridge. The driver includes - complete proportional spacing tables for the AD set of downloadable - TmsRmn fonts. - -HP THINKJET, IBM mode ----- Driver: HPTJI - - ^PY N/A - ^PT/V Prints full-size characters with roll - - .CW .CW Font Name - --- --------- - 7 compressed - 10 elite - 12 pica - 14 expanded compressed - 20 expanded elite - 24 expanded pica - - .LH Use even values. Driver operates at 2/48" resolution. - .LQ N/A - .PS N/A - .UL Continuous underlining suppresses microspace justification - .UJ Microspace justification slows printing. Default is ON. - - NOTES This printer does not have a true 10 pitch font, so character - widths are not exact, and ^P@ does not align exactly with text. - Because the printer has an automatic page offset, set the WordStar - page offset to zero. - -IBM COLOR PRINTER 5182 ----- Driver: IBMCLR - - ^PY Selects red/black ribbon color - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ .PS - .CW OFF ON ON Font Name - --- --- -------- --------- - 7 7 5 (0-6) compressed - 10 10 8 (7-8) elite - 12 12 10 (9-13) pica - 14 14 - expanded compressed - 20 20 15 (14-16) expanded elite - 24 24 20 (17-30) expanded pica - - .LH Use even values. Driver operates at 2/48" resolution. - .LQ Has same effect as ^PD - .UL Underlining may be irregular with microspace justification on - .UJ Microspace justification slows printing. Default is OFF. - -IBM GRAPHICS PRINTER 5152 ----- Driver: IBMGR - - ^PY N/A - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - - .CW .CW Font Name - --- --------- - 7 compressed - 12 pica - 14 expanded compressed - 24 expanded pica - - .LH Use even values. Driver operates at 2/48" resolution. - .LQ N/A - .PS N/A - .UL Continuous underlining suppresses microspace justification - .UJ Microspace justification slows printing. Default is OFF. - -IBM PROPRINTER 4201 ----- Driver: IBMPRO - - ^PY N/A - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON Font Name - --- --- --------- - 7 7 compressed - 10 10 elite - 12 12 pica - 14 14 expanded compressed - 20 20 expanded elite - 24 24 expanded pica - - .LH Use even values. Driver operates at 2/48" resolution. - .PS N/A - .LQ Has same effect as ^PD - .UL Continuous underlining suppresses microspace justification - .UJ Microspace justification slows printing. Default is OFF. - - NOTES If you have a Proprinter XL, you can use WSCHANGE to patch - in the extra features. - -IBM QUIETWRITER 5201 ----- Driver: IBMQUI - - ^PY Toggles between A and * font cartridge. Set character - width to match cartridge in use. (A cartridge uses current - ^PN character width; * cartridge uses ^PA character width.) - ^PT/V Prints full-size characters with roll - .CW Selects character width. Character width must correspond - to the cartridge being used. - .LQ N/A - .PS ON selects proportional spacing, OFF selects fixed pitch - spacing - -IBM WHEELPRINTER 5216 ----- Driver: IBMWP - - ^PY N/A - ^PT/V Printer determined roll if .SR 0 - .CW Selects character spacing. Any value from 0 to 30 is - supported. Usual fixed pitch values are 8 (15 characters - per inch), 10 (12 cpi) and 12 (10 cpi). - .LQ N/A - .UL Continuous underlining does not affect microjustification - .PS ON selects proportional spacing, OFF selects fixed pitch. - This driver sends codes to the printer to turn proportional - spacing on and off, and the printer controls character to - character spacing. - - NOTES The proportional spacing tables are set up for an IBM - BOLD PS wheel. - -IBM WHEELPRINTER 5223 E ----- Driver: IBMWPE - - ^PY N/A - ^PT/V Printer determined roll if .SR 0 - .CW Selects character spacing. Any value from 0 to 30 is - supported. Usual fixed pitch values are 8 (15 characters - per inch), 10 (12 cpi) and 12 (10 cpi). - .LQ N/A - .UL Continuous underlining does not affect microjustification. - Continuous underlining will be somewhat irregular. - .PS ON selects proportional spacing, OFF selects fixed pitch. - This driver will send codes to the printer to turn propor- - tional spacing on and off, and the printer will control - character to character spacing. - - NOTES The proportional spacing tables are set up for an IBM - BOLD PS wheel. - -MANNESMANN TALLY MT-160L ----- Driver: MT160L - - ^PY N/A - ^PT/V Prints full-size characters with specified even roll - .LQ .LQ - .CW OFF ON Font Name - --- --- --------- - 6 - compressed elite - 7 - compressed - 10 10 elite - 12 12 pica - 14 - expanded compressed - 20 - expanded elite - 24 - expanded pica - - .LH Use even values. Driver operates at 2/48" resolution. - .UJ N/A - - NOTES This printer is not capable of incremental horizontal - positioning. As a result, microspace justification is not possible. - In addition, when changing character widths, characters may not - align to closer than one full character width. Also, page offsets - smaller than a character will not work. - -MPI PRINTMATE 99 & 350 ----- Driver: MPI99 - - ^PY N/A - ^PT/V Even superscript roll - .LQ .LQ - .CW OFF ON Font name - --- --- --------- - 7 - 17.1 cpi - 10 - 12 cpi - 12 12 10 cpi - 14 - 8.5 cpi - 20 - 6 cpi - 24 24 5 cpi - - .LH 1/24" resolution, use even values - .PS N/A - .UJ N/A - -NEC PINWRITER P2-3, P2-6, P3-3, P6-6 ----- Driver: NECP2I - - ^PY N/A - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON Font Name - --- --- --------- - 7 - compressed - 10 10 elite - 12 12 pica - 14 - expanded compressed - 20 20 expanded elite - 24 24 expanded pica - - .PS N/A - .UL Continuous underline suppresses microspace justification - .UJ Microspace justification slows printing. Default is OFF. - - NOTES Page offsets smaller than the character width in effect are - not supported. Make sure switch 5 on the printer is off. - -NEC PINWRITER P5XL, P6, P7 ----- Driver: NECP5 - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 6 6 - compressed elite - 7 7 6 (0-8) compressed - 8 8 - subscript 15 cpi - 10 10 - elite - 12 12 10 (9-17) pica - 14 14 - expanded compressed - 16 16 - expanded script - 20 20 - expanded elite - 24 24 20 (18-26) expanded courier - 30 30 30 (27-30) triple elite - - -NEC SPINWRITER 2000R, 3500R -NEC SPINWRITER 2010, 3510, 7710 -NEC SPINWRITER 2030, 3530, 7730 ----- Driver: SPINWR - - See Diablo 630, 1610, 1620 Daisy Wheel. - - .BP N/A - - NOTES The proportional spacing tables are set up for a NEC BOLD PS - wheel. Proportional spacing is not supported on the 2010 and 2030. - -NEC SPINWRITER 2015, 3515, 7715 ----- Driver: DIABLO - - See Diablo 630, 1610, 1620 Daisy Wheel. - - .BP N/A - - NOTES The proportional spacing tables are set up for a NEC BOLD PS - wheel. This printer does not respond correctly to the phantom blank - and phantom rubout characters, and may lose horizontal alignment if - they are included in your document. Proportional spacing is not - supported on the 2015. - -NEC SPINWRITER 2050, 3550, 8850 ----- Driver: SPIN50 - - See Diablo 630, 1610, 1620 Daisy Wheel. - - .BP N/A - - NOTES The proportional spacing tables are set up for a NEC BOLD PS - wheel. Proportional spacing is not supported on the 2050. - -OKIDATA MICROLINE 84 STEP 2, STANDARD ----- Driver: ML84 - - ^PY N/A - ^PT/V Printer controlled if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON Font Name - --- --- --------- - 7 7 compressed - 10 10 elite - 12 12 pica - 14 14 expanded compressed - 20 20 expanded elite - 24 24 expanded pica - - .PS N/A - .UJ In draft mode (.LQ OFF), this printer is not capable of - microspace justification. Different character widths may - not line up correctly. - - NOTES Page offsets smaller than the character width in effect are - not supported. - -OKIDATA MICROLINE 92 AND 93, STANDARD ----- Driver: ML92 - - ^PY N/A - ^PT/V Printer controlled if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON Font Name - --- --- --------- - 7 compressed - 10 10 elite - 12 12 pica - 14 expanded compressed - 20 20 expanded elite - 24 24 expanded pica - - .PS N/A - .UJ In draft mode (.LQ OFF), this printer is not capable of - microspace justification. Different character widths may - not line up correctly. - - NOTES Page offsets smaller than the character width in effect are - not supported. - -OKIDATA MICROLINE 84, 92, 93, IBM PLUG & PLAY ----- Driver: ML92I - - ^PY N/A - ^PT/V Printer controlled if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON Font Name - --- --- --------- - 7 compressed - 12 12 pica - 14 expanded compressed - 24 24 expanded pica - - .PS N/A - .UJ In draft mode (.LQ OFF), this printer is not capable of - microspace justification. Different character widths may - not line up correctly. - - NOTES Page offsets smaller than the character width in effect are - not supported. - -OKIDATA MICROLINE 182, STANDARD ----- Driver: ML182 -OKIDATA MICROLINE 182, IBM ML182I - - ^PY N/A - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON Font Name - --- --- --------- - 7 - compressed - 10 10 elite - 12 12 pica - 14 - expanded compressed - 20 20 expanded elite - 24 24 expanded pica - - NOTES This printer is not capable of incremental horizontal - positioning, so microspace justification is not possible. In - addition, when changing character widths, characters may not align - to closer than one full character width. Also, page offsets smaller - than a character do not work. - -OKIDATA MICROLINE 192, STANDARD ----- Driver: ML192 -OKIDATA MICROLINE 192, IBM ML192I - - ^PY Selects draft mode italics. No half height italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 7 - - compressed - 10 10 9 (9-10) elite - 12 12 11 (11-17) pica - 14 - - expanded compressed - 20 20 18 (18-20) expanded elite - 24 24 22 (21-30) expanded pica - - NOTES This printer does not have control strings to select - proportional and fixed pitch printing. This choice can only be - made through the printer's own menu functions. For reasonable - results, make sure that your document and printer are both fixed - pitch or both proportional. - -OKIDATA MICROLINE 292, STANDARD ----- Driver: ML292 -OKIDATA MICROLINE 292, IBM ML292I - - ^PY Selects italics. No half height italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 7 7 7 (6-8) compressed - 10 10 9 (9-10) elite - 12 12 11 (11-12) pica - 14 14 13 (13-17) expanded compressed - 20 20 18 (18-20) expanded elite - 24 24 22 (21-30) expanded pica - - NOTES This printer does not have control strings to select - proportional and fixed pitch printing. This choice can only be - made through the printer's own menu functions. For reasonable - results, make sure that your document and printer are both fixed - pitch or both proportional. - -OKIDATA PACEMARK 2410, STANDARD ----- Driver: PM2410 - - ^PY N/A - ^PT/V Prints full-size characters with roll - .LQ .LQ - .CW OFF ON Font Name - --- --- --------- - 7 - compressed - 10 10 elite - 12 12 pica - 14 - expanded compressed - 20 20 expanded elite - 24 24 expanded pica - - .UJ Compressed and expanded compressed characters will not be - microspace justified. Also, they may not align perfectly - with other character widths. - - NOTES If you have the IBM-compatible printer, do not use this - installation. Instead, choose the IBM Graphics Printer. - -PANASONIC KX-P1090 ----- Driver: P1090 - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - - .CW .CW Font Name - --- --------- - 7 compressed - 10 elite - 12 pica - 14 expanded compressed - 20 expanded elite - 24 expanded pica - - .LH Use even values. Driver operates at 2/48" resolution. - .LQ N/A - .PS N/A - .UL Continuous underlining suppresses microspace justification. - -QUME SPRINT SERIES ----- Driver: QUME - - See Diablo 630, 1610, 1620 Daisy Wheel. - - .PS N/A - - NOTES Make sure you use the appropriate switch settings for your - interface module. Set the switches on the module accordingly: - IBM Centronics module: 1, 2, 8, 9 ON. All others OFF. - RS-232-C module: 1, 2 ON. All others OFF. - -QUME SPRINT WITH WP OPTION ----- Driver: QUMEWP - - See Diablo 630, 1610, 1620 Daisy Wheel. - - .PS N/A - -RICOH LP4080R LASER PRINTER ----- Driver: LP4080 - - ^PY N/A - ^PT/V Prints full-size characters with roll - .PS .PS - .CW OFF ON Font Name - --- --- --------- - 8 - 15 cpi - 10 - 12 cpi elite - 12 - 10 cpi courier - - 11 (0-30) proportional - - .LQ N/A - .PL For 11 inch paper, a value of 62 is recommended - .PR OR "=Landscape" or "=Portrait" to select orientation - - NOTES Answer yes to the "Use form feeds" prompt. This driver is - configured to select all the built in fonts in the LP4080R, in both - portrait and landscape mode. For more information on laser printers, - see the "Laser Printers" section above. - -SILVER REED EXP-550/500 DAISY WHEEL ----- Driver: SR550 - - See Diablo 630, 1610, 1620 Daisy Wheel. - - NOTES Proportional spacing tables (Model 500 does not support - proportional printing) are set up for a Silver Reed PS wheel. - You need to change the switch settings for proportional - fonts. Set the SW-1 switches accordingly: - For proportional fonts: 1, 2 ON, 3-6 OFF - For nonproportional fonts: All OFF. - -STAR MICRONICS GEMINI 10X AND 15X ----- Driver: GEM10X - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - - .CW .CW Font Name - --- --------- - 7 compressed - 10 elite - 12 pica - 14 expanded compressed - 20 expanded elite - 24 expanded pica - - .LH Use even values. Driver operates at 2/48" resolution. - .LQ N/A - .PS N/A - .UL Continuous underlining suppresses microspace justification - .UJ Microspace justification slows printing. Default is OFF. - -STAR MICRONICS NX-10 ----- Driver: NX10 - - ^PY Selects draft quality italics - ^PT/V Prints half-size if .SR 0; otherwise full-size with roll - .LQ .LQ .PS - .CW OFF ON ON Font Name - --- --- --- --------- - 6 - 4 (0-5) compressed elite - 7 - 7 (6-7) compressed - 10 - 9 (8-9) elite - 12 12 11 (10-12) pica - 14 - - expanded compressed - 20 - - expanded elite - 24 24 - expanded pica - - .UL Continuous underlining suppresses microjustification - .UJ Microjustification slows printing - -STAR MICRONICS SG10 ---- Driver: SG10 -STAR MICRONICS SG10I ---- Driver: SG10I - - ^PY Selects draft mode italics - ^PT/V Prints full size characters with roll - - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 7 - - compressed - 10 - 10 (9-12) elite - 12 12 - pica - 14 - - expanded compressed - 20 - 20 (18-24) expanded elite - 24 24 - expanded pica - - .UL Continuous underlining suppresses microjustification - .UJ Microjustification slows printing - .PS Draft quality proportional - - NOTE: Because of printer firmware limitations, combinations of - print enhancements may cause poor printed output. - -TANDY DMP-130 MATRIX PRINTER ----- Driver: DMP13 - - ^PY Selects italics - ^PT/V Prints half-size characters (17 cpi, or 8.5 cpi for - expanded fonts) - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 7 - - compressed - - 10 - elite - 12 12 11 (11-13) pica - 14 - - expanded compressed - - 20 - expanded elite - 24 24 22 (21-30) expanded pica - - NOTES Printer must be in Tandy mode. - -TANDY DMP-2100P MATRIX PRINTER ----- Driver: D2100P - - ^PY N/A - ^PT/V Prints full-size characters with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 7 - - compressed - - 10 9 (9-10) elite - 12 12 11 (11-13) pica - 14 - - expanded compressed - - 20 18 (18-20) expanded elite - 24 24 22 (21-30) expanded pica - - NOTES Printer must be in Tandy mode. - -TANDY DMP-2110 MATRIX PRINTER ----- Driver: D2110 - - ^PY Selects italics - ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 7 - - compressed - - 10 9 (9-10) elite - 12 12 11 (11-13) pica - 14 - - expanded compressed - - 20 18 (18-20) expanded elite - 24 24 22 (21-30) expanded pica - - NOTES Printer must be in Tandy mode. - -TANDY DWP-230 DAISY WHEEL ----- Driver: DWP230 -TANDY DWP-520 DAISY WHEEL ----- Driver: DWP520 - - ^PY N/A - ^PT/V Prints super/subscripts in separate pass with specified roll - .CW Supports any value from 0 to 30. Usual fixed pitch values are - 10 (12 cpi) and 12 (10 cpi). - .BP N/A - .LQ N/A - .PS ON selects proportional spacing. Spacing tables are set up for - a DIABLO BOLD PS wheel, #303029-01. - .UL Continuous underlining does not suppress microjustification - for DWP230; does suppress it for DWP520. - -TEXAS INSTRUMENTS 855 AND 865 ----- Driver: TI855 - - ^PY N/A - ^PT/V Prints full-size characters with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 6 6 6 (0-8) compressed - 10 10 10 (9-11) elite - 12 12 12 (12-17) pica - 14 14 - expanded compressed - 20 20 20 (18-22) expanded elite - 24 24 24 (23-30) expanded pica - -TOSHIBA P351, P351C, P341, P321 ----- Driver: P351 - - ^PY Selects italics - ^PT/V Prints full-size characters with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 7 - - compressed - - 10 9 (0-9) elite - 12 12 11 (10-14) pica - 14 - - expanded compressed - - 20 18 (15-19) expanded elite - 24 24 22 (20-30) expanded pica - -TOSHIBA P1340 ----- Driver: P1340 - - ^PY No effect - ^PT/V Prints full-size characters with roll - .LQ .LQ - .CW OFF ON Font Name - --- --- --------- - 10 10 elite - 12 12 pica - 14 - expanded compressed - 20 - expanded elite - 24 24 expanded pica - -TOSHIBA P1351 ----- Driver: P1351 - - ^PY N/A - ^PT/V Prints full-size characters with roll - .LQ .LQ - .CW OFF ON .PS ON Font Name - --- --- ------ --------- - 7 - - compressed - - 10 9 (0-9) elite - 12 12 11 (10-14) pica - 14 - - expanded compressed - - 20 18 (15-19) expanded elite - 24 24 22 (20-30) expanded pica - -ZENITH Z-125AA ----- Driver: Z125 - - ^PY N/A - ^PT/V No incremental vertical positioning - - .CW .CW Font name - --- --------- - 7 16.7 cpi - 9 13.3 cpi - 10 12 cpi - 12 10 cpi - 14 8.3 cpi - 18 6.7 cpi - 20 6 cpi - 24 5 cpi - - .LH Full lines only - .UJ N/A - .PS N/A - .LQ N/A - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/README b/Source/Images/hd_cpm3/s1/u0/README deleted file mode 100644 index 39793dad..00000000 --- a/Source/Images/hd_cpm3/s1/u0/README +++ /dev/null @@ -1,15 +0,0 @@ -This disk contains an updated printer driver file for your -WordStar, CP/M Edition, Release 4. This file corrects problems -you may have experienced with form feeds, page length, and right- -justified proportional spacing. - -Follow the instructions on page xxii of the WordStar Reference -Guide for creating a new WSPRINT.OVR file. Substitute a copy of -this WSPRINT disk (make sure it is a boot disk) for the copy of -your original PRINT disk in step 2. - - - - - - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/REVIEW.COM b/Source/Images/hd_cpm3/s1/u0/REVIEW.COM deleted file mode 100644 index ec90bc03..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/REVIEW.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/RULER.DOC b/Source/Images/hd_cpm3/s1/u0/RULER.DOC deleted file mode 100644 index 172a6efe..00000000 --- a/Source/Images/hd_cpm3/s1/u0/RULER.DOC +++ /dev/null @@ -1,22 +0,0 @@ - Thå Ruleò Line - -Thió  documenô  ió seô uð tï teacè yoõ abouô ruleò  lines®   Thió -texô  waó writteî usinç thå defaulô lefô anä righô marginó  oæ  ± -anä  65®   Wå didn'ô changå anù tabó here® Next¬  wå  wanteä  tï -changå  botè  marginó  tï  indenô thå texô®  Wå  useä  doô -commands® Witè doô commands¬ thå ne÷ marginó arå saveä wheî  yoõ -exiô anä savå thå document. -.lm10 -.rm45 -         Ne÷  marginó  changå thå  ruleò  anä -         text®   Watcè thå ruleò linå aó  yoõ -         movå  thå cursoò througè thió  text® -         WordStaò wilì continuå tï holä theså -         marginó untiì yoõ enteò anotheò  doô -         ãommand. -.lm1 -.rm65 -Margiî  changeó brinç thå ruleò anä thå texô bacë tï thå  defaulô -settingó oncå again. - - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/SAMPLE1.DOC b/Source/Images/hd_cpm3/s1/u0/SAMPLE1.DOC deleted file mode 100644 index 0bb6b8fb..00000000 --- a/Source/Images/hd_cpm3/s1/u0/SAMPLE1.DOC +++ /dev/null @@ -1,17 +0,0 @@ - Itinerary - -Depart Datå Time Arrive Date Time - -Florence 10¯3± 08:30 a Rome 10¯31 05:3µ p -Romå 11¯05 08:00 a Naples 11/05 12:2· p - -Noô includeä iî thå rateó are -.lm10 -.rm55 - -         Transfeò  services¬ sightseeing¬ mealó  excepô -         aó specified¬ tipó tï statioî porters¬  wines¬ -         spirits¬   mineraì waters¬  laundry¬   theateò -         tickets¬ anä otheò itemó oæ á similaò personaì -         nature® - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/SAMPLE2.DOC b/Source/Images/hd_cpm3/s1/u0/SAMPLE2.DOC deleted file mode 100644 index e19c63d8..00000000 --- a/Source/Images/hd_cpm3/s1/u0/SAMPLE2.DOC +++ /dev/null @@ -1,15 +0,0 @@ - -Excursions - - -Daù ± -Florencå-Romeº Leavå aô 8:3° aí bù deluxå motorcoach® Arrivå aô -Romå iî thå afternoon® - -Daù ² -Romeº   Morninç  anä afternooî citù  sightseeinç  bù  motorcoach® -Englisè speakinç guidå optional. - -Farå iî firsô clasó hotelsº $100.00® Batè optionaìº $25.00® - - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/SAMPLE3.DOC b/Source/Images/hd_cpm3/s1/u0/SAMPLE3.DOC deleted file mode 100644 index 725a3dab..00000000 --- a/Source/Images/hd_cpm3/s1/u0/SAMPLE3.DOC +++ /dev/null @@ -1,5 +0,0 @@ -Daù 8 -Romå-Naplesº   Deparô  aô 8:0° aí bù CIAÔ deluxå  motorcoacè  viá -Formia®   Arrivå  Napleó  aô  luncè  time®   Afternooî   optionaì -excursioî tï Phlegreaî Fieldó anä Sulphuò Mine® - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/SPELL.COM b/Source/Images/hd_cpm3/s1/u0/SPELL.COM deleted file mode 100644 index 55a617a6..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/SPELL.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/TABLE.DOC b/Source/Images/hd_cpm3/s1/u0/TABLE.DOC deleted file mode 100644 index 90748d1c..00000000 --- a/Source/Images/hd_cpm3/s1/u0/TABLE.DOC +++ /dev/null @@ -1,17 +0,0 @@ - TABLÅ II - - CENTRIFUGAÌ FORCÅ CALIBRATIOÎ DATA - -__________________________________________________________________ - Elemenô No® | Maximuí ç ü Minimuí ç ü Averagå ç ü Spreaä iî ç | -______________|____________|___________|___________|_____________| - ± ü 2.2± ü 1.6µ ü 1.9³ | 0.5¶ | - ü 2.2° ü 1.6µ ü 1.9³ ü 0.5° | - ² ü 2.4¸ ü 2.2µ ü 2.3¶ ü 0.2³ | - ü 2.5° ü 2.2² ü 2.3¶ ü 0.2¸ | - ³ ü 3.0¸ ü 2.5¹ ü 2.8´ ü 0.4¹ | - ü 3.1² ü 2.5¸ ü 2.8µ ü 0.5´ | - ´ ü 3.0· ü 2.6° ü 2.8´ ü 0.4· | - ü 3.1° ü 2.6° ü 2.8µ ü 0.5° | - - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/TEXT.DOC b/Source/Images/hd_cpm3/s1/u0/TEXT.DOC deleted file mode 100644 index e0cfaabf..00000000 --- a/Source/Images/hd_cpm3/s1/u0/TEXT.DOC +++ /dev/null @@ -1,94 +0,0 @@ - Gulliver'ó Travels - Parô I - - Á Voyagå tï Lilliput - - Chap® I - - -Mù fatheò haä á smalì estatå iî Nottinghamshire» É waó thå  thirä -oæ  fivå  sons®  Hå senô må tï Emanueì Collegå  iî  Cambridgå  aô -fourteeî  yearó  old¬ wherå É resideä threå  years¬  anä  applieä -myselæ  closå  tï mù studiesº buô thå chargå  oæ  maintaininç  må -(althougè  É haä á verù scantù allowance© beinç toï greaô  foò  á -narro÷  fortune¬  É waó bounä apprenticå tï Mr® Jameó  Bates¬  aî -eminenô surgeoî iî London¬ witè whoí É continueä fouò years»  anä -mù  fatheò  no÷ anä theî sendinç må smalì sumó oæ money¬  É  laiä -theí  ouô  iî  learninç  navigation¬  anä  otheò  partó  oæ   thå -mathematics¬  usefuì tï thoså whï intenä tï travel¬ aó  É  alwayó -believeä iô woulä bå somå timå oò otheò mù fortunå tï do® Wheî  É -lefô Mr® Bates¬ É wenô dowî tï mù father» wherå bù thå assistancå -oæ  hií anä mù unclå John¬ anä somå otheò relations¬ É goô  fortù -pounds¬  anä á promiså oæ thirtù poundó á yeaò tï maintaiî må  aô -Leydenº  therå  É  studieä physiã twï  yearó  anä  seveî  months¬ -knowinç iô woulä bå usefuì iî lonç voyages. - -Sooî  afteò mù returî froí Leyden¬ É waó recommended¬ bù mù  gooä -masteò Mr® Bates¬ tï bå surgeoî tï thå "Swallow,¢ Captaiî Abrahaí -Panneì  commander» witè whoí É continueä threå yearó anä á  half¬ -makinç  á  voyagå oò twï intï thå Levant¬ anä somå  otheò  parts® -Wheî  É  camå back¬ É resolveä tï settlå iî Londoî tï  whicè  Mr® -Bates¬ mù master¬ encourageä me¬ anä bù hií É waó recommendeä  tï -severaì  patients® É tooë parô oæ á smalì houså iî thå Olä  Jury» -anä  beinç  adviseä tï alteò maù condition¬ É marrieä  Mrs®  Marù -Burton¬ seconä daughteò tï Mr® Edmunä Burton¬ hosieò iî  Newgatå- -street¬ witè whoí É receiveä fouò hundreä poundó foò á portion. - -But¬ mù gooä masteò Bateó dyinç iî twï yearó after¬ anä É  havinç -fe÷  friends¬ mù businesó begaî tï fail» foò mù consciencå  woulä -noô  suffeò må tï imitatå thå baä practicå oæ toï manù  amonç  mù -brethren®   Havinç thereforå consulteä witè mù wife¬ anä somå  oæ -mù  acquaintance¬ É determineä tï gï agaiî tï sea® É waó  surgeoî -successivelù  iî  twï ships¬ anä madå severaì  voyages¬  foò  siø -years¬ tï thå Easô anä Wesô-Indies¬ bù whicè É goô somå  additioî -tï  mù fortune® Mù houró oæ leisurå É spenô iî readinç  thå  besô -authors¬  ancienô anä modern¬ beinç alwayó provideä witè  á  gooä -numbeò oæ books» anä wheî É waó ashore¬ iî observinç thå  manneró -anä  dispositionó  oæ  thå  people¬ aó  welì  aó  learninç  theiò -language¬  whereiî É haä á greaô facilitù bù thå strengtè  oæ  mù -memory. - -Thå  lasô  oæ theså voyageó noô provinç verù  fortunate¬  É  gre÷ -wearù  oæ thå sea¬ anä intendeä tï staù aô homå witè mù wifå  anä -family®   É  removeä froí thå Olä Jurù tï Fetteò-Lane¬  anä  froí -thencå tï Wapping¬ hopinç tï geô businesó amonç thå sailors»  buô -iô woulä noô turî tï account® Afteò threå yearó expectatioî  thaô Šthingó woulä mend¬ É accepteä aî advantageouó offeò froí  Captaiî -Williaí  Prichard¬  masteò oæ thå "Antelope,¢ whï  waó  makinç  á -voyagå  tï thå Soutè-Sea® Wå seô saiì froí Bristoì Maù  4¬  1699¬ -anä ouò voyagå waó verù prosperous. - -Iô  woulä noô bå proper¬ foò somå reasons¬ tï troublå thå  readeò -witè  thå  particularó oæ ouò adventureó iî thoså  seasº  leô  iô -sufficå  tï  inforí him¬ thaô iî ouò passagå froí thencå  tï  thå -Easô-Indies¬ wå werå driveî bù á violenô storí tï thå  nortè-wesô -oæ  Vaî Diemen'ó Land® Bù aî observation¬ wå founä  ourselveó  iî -thå  latitudå oæ 3° degreeó ² minuteó south® Twelvå oæ  ouò  cre÷ -werå  deaä bù immoderatå labouò anä ilì food¬ thå resô werå iî  á -verù  weaë  condition® Oî thå fiftè oæ November¬  whicè  waó  thå -beginninç oæ summeò iî thoså parts¬ thå weatheò beinç verù  hazy¬ -thå  seameî  spieä á rock¬ withiî halæ á cable'ó  lengtè  oæ  thå -ship»  buô thå winä waó sï strong¬ thaô wå werå  driveî  directlù -upoî  it¬ anä immediatelù split® Siø oæ thå crew¬ oæ whoí  É  waó -one¬  havinç leô dowî thå boaô intï thå sea¬ madå á shifô tï  geô -cleaò oæ thå ship¬ anä thå rock® Wå roweä bù mù computatioî abouô -threå leagues¬ tilì wå werå ablå tï worë nï longer¬ beinç alreadù -spenô  witè  labouò  whilå wå werå iî  thå  ship®   Wå  thereforå -trusteä ourselveó tï thå mercù oæ thå waves¬ anä iî abouô halæ aî -houò thå boaô waó overseô bù á suddeî flurrù froí thå north® Whaô -becamå mù companionó iî thå boat¬ aó welì aó oæ thoså whï escapeä -oî  thå  rock¬  oò werå lefô iî thå vessel¬ É  cannoô  tell»  buô -concludå  theù werå alì lost® Foò mù owî part¬ É swaí aó  fortunå -directeä  me¬ anä waó pusheä forwarä bù winä anä tide®   É  ofteî -leô mù legó droð anä coulä feeì nï bottomº buô wheî É waó  almosô -gone¬  anä ablå tï strugglå nï longer¬ É founä myselæ  withiî  mù -depth» anä bù thió timå thå storí waó mucè abated® Thå  declivitù -waó  sï  small¬  thaô É walkeä neaò á milå beforå É  goô  tï  thå -shore¬  whicè  É  conjectureä  waó abouô  eighô  o'clocë  iî  thå -evening® É theî advanceä forwarä neaò halæ á mile¬ buô coulä  noô -discoveò anù sigî oæ houseó oò inhabitants» aô leasô É waó iî  sï -weaë  á condition¬ thaô É diä noô observå them® É  waó  extremelù -tired¬ anä witè that¬ anä thå heaô oæ thå weather¬ anä abouô halæ -á pinô oæ brandù thaô É dranë aó É lefô thå ship¬ É founä  myselæ -mucè inclineä tï sleep. - - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/TW.COM b/Source/Images/hd_cpm3/s1/u0/TW.COM deleted file mode 100644 index 57747ef6..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/TW.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WC.COM b/Source/Images/hd_cpm3/s1/u0/WC.COM deleted file mode 100644 index 857ca9b1..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WC.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WINSTALL.COM b/Source/Images/hd_cpm3/s1/u0/WINSTALL.COM deleted file mode 100644 index 4ed26d07..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WINSTALL.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WORDFREQ.COM b/Source/Images/hd_cpm3/s1/u0/WORDFREQ.COM deleted file mode 100644 index 27e74c52..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WORDFREQ.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WS.COM b/Source/Images/hd_cpm3/s1/u0/WS.COM deleted file mode 100644 index 00f5114f..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WS.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WS.OVR b/Source/Images/hd_cpm3/s1/u0/WS.OVR deleted file mode 100644 index 00434197..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WS.OVR and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSCHANGE.COM b/Source/Images/hd_cpm3/s1/u0/WSCHANGE.COM deleted file mode 100644 index 2bcc433b..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WSCHANGE.COM and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSCHANGE.OVR b/Source/Images/hd_cpm3/s1/u0/WSCHANGE.OVR deleted file mode 100644 index a2122665..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WSCHANGE.OVR and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSCHHELP.OVR b/Source/Images/hd_cpm3/s1/u0/WSCHHELP.OVR deleted file mode 100644 index bad58e6e..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WSCHHELP.OVR and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSHELP.OVR b/Source/Images/hd_cpm3/s1/u0/WSHELP.OVR deleted file mode 100644 index 02634675..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WSHELP.OVR and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSINDEX.XCL b/Source/Images/hd_cpm3/s1/u0/WSINDEX.XCL deleted file mode 100644 index 4b0e5c58..00000000 --- a/Source/Images/hd_cpm3/s1/u0/WSINDEX.XCL +++ /dev/null @@ -1,232 +0,0 @@ -A -ABOUT -ABOVE -ACROSS -AFTER -AFTERWARDS -AGAIN -AGAINST -AGO -AHEAD -ALIKE -ALL -ALMOST -ALONE -ALONG -ALREADY -ALSO -ALTHOUGH -ALTOGETHER -ALWAYS -AMONG -AN -AND -ANOTHER -ANY -ANYMORE -ANYONE -ANYTHING -ANYWAY -ANYWHERE -ARE -AREN'T -AROUND -AS -ASIDE -AT -AVAILABLE -AWAY -B -BE -BECAUSE -BEEN -BEFORE -BEFOREHAND -BELOW -BENEATH -BESIDES -BETWEEN -BEYOND -BUT -BY -C -D -DID -DIDN'T -DO -DOES -DOESN'T -DONE -DON'T -DOWN -DOWNRIGHT -E -EACH -EITHER -ELSE -EVEN -EVER -EXCEPT -F -FINALLY -FOR -FROM -G -H -HAD -HADN'T -HAPPEN -HAS -HASN'T -HAVE -HAVEN'T -HE -HER -HERE -HERE'S -HERS -HIM -HIS -HOW -HOWEVER -I -IF -IN -INTO -IS -ISN'T -IT -ITS -ITSELF -IT'LL -IT'S -I'D -I'LL -I'M -I'VE -J -JUST -K -KNOW -KNOWING -KNOWS -L -LIKE -M -MAYBE -ME -MY -N -NO -NONE -NOR -NOT -NOW -O -OF -OFF -OFTEN -OH -ON -ONLY -ONTO -OR -OTHER -OTHERWISE -OUR -OURS -OUT -OVER -P -Q -R -S -SHE -SINCE -SO -SOME -SOON -SOONER -SUCH -T -THAN -THAT -THAT'S -THE -THEIR -THEM -THEMSELVES -THEN -THERE -THEREFORE -THERE'LL -THERE'S -THESE -THEY -THEY'D -THEY'LL -THEY'RE -THEY'VE -THIS -THOSE -THOUGH -THROUGH -THROUGHOUT -THUS -TIL -TO -TOGETHER -TOO -U -UN -UNDER -UNTIL -UP -US -V -VALUE -VALUED -VERY -W -WAS -WASN'T -WE -WE'D -WE'LL -WE'RE -WE'VE -WHAT -WHATEVER -WHATEVER'S -WHAT'S -WHEN -WHENEVER -WHERE -WHEREAS -WHEREVER -WHERE'S -WHETHER -WHICH -WHICHEVER -WHILE -WHO -WHOSE -WHY -WILL -WITH -WITHIN -WITHOUT -WON'T -X -YES -YET -YOU -YOUR -YOURS -YOURSELF -YOU'D -YOU'LL -YOU'RE -YOU'VE -Z - \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/WSMSGS.OVR b/Source/Images/hd_cpm3/s1/u0/WSMSGS.OVR deleted file mode 100644 index 7f16fda8..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WSMSGS.OVR and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSPRINT.OVR b/Source/Images/hd_cpm3/s1/u0/WSPRINT.OVR deleted file mode 100644 index 6f5aa696..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WSPRINT.OVR and /dev/null differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSSHORT.OVR b/Source/Images/hd_cpm3/s1/u0/WSSHORT.OVR deleted file mode 100644 index d240a40d..00000000 Binary files a/Source/Images/hd_cpm3/s1/u0/WSSHORT.OVR and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/CLOCKS.DAT b/Source/RomDsk/ROM_1024KB/CLOCKS.DAT similarity index 100% rename from Source/Images/hd0/s1/u0/CLOCKS.DAT rename to Source/RomDsk/ROM_1024KB/CLOCKS.DAT diff --git a/Source/RomDsk/ROM_1024KB/COMPARE.COM b/Source/RomDsk/ROM_1024KB/COMPARE.COM new file mode 100644 index 00000000..29fa41e6 Binary files /dev/null and b/Source/RomDsk/ROM_1024KB/COMPARE.COM differ diff --git a/Source/Images/hd0/s1/u0/COPY.UPD b/Source/RomDsk/ROM_1024KB/COPY.UPD similarity index 100% rename from Source/Images/hd0/s1/u0/COPY.UPD rename to Source/RomDsk/ROM_1024KB/COPY.UPD diff --git a/Source/RomDsk/ROM_1024KB/CR.COM b/Source/RomDsk/ROM_1024KB/CR.COM new file mode 100644 index 00000000..8a824bcc Binary files /dev/null and b/Source/RomDsk/ROM_1024KB/CR.COM differ diff --git a/Source/RomDsk/ROM_1024KB/DDTZ.DOC b/Source/RomDsk/ROM_1024KB/DDTZ.DOC new file mode 100644 index 00000000..e4470528 --- /dev/null +++ b/Source/RomDsk/ROM_1024KB/DDTZ.DOC @@ -0,0 +1,564 @@ + + DDTZ v2.7 + by C.B. Falconer + edited by George A. Havach + +Introduction: +============ +DDTZ v2.7 is a complete replacement for DDT, Digital Research's +famous Dynamic Debugging Tool, with improved functionality, bug +extermination, and full Z80 support. In general, DDTZ is fully +compatible with the original utility, but it has extra and +extended commands and many fewer quirks. All Z80-specific +instructions can be (dis)assembled, though in Intel rather then +Zilog format. Furthermore, DDTZ will correctly trace ('T' and 'U' +commands) both 8080 and Z80 instructions, depending on which CPU +is operating. On startup, the program announces which CPU it is +running on. + +DDTZ v2.7 now handles the 64180 added opcodes. It does NOT test +for a 64180 CPU, since this cannot be done without executing +illegal Z80 instructions, which in turn will crash some +simulators. However v2.7 does not execute any 64180 instructions +internally, only in the subject program. + +This issue supplies the "M" version assembled, to avoid errors +when switching between MSDOS and CPM systems. The command table +is updated accordingly. Most CPM users are also MSDOS users, but +not vice-versa. + +The program is invoked by typing + + ddtz +or + ddtz [d:]filespec + +In the second form, DDTZ will load the specified file into +memory starting at 0100H, unless it's a .HEX file that sets its +own load address. Besides reporting the NEXT free address and +the PC (program counter) after a successful load, DDTZ also shows +the number of memory pages needed for a SAVE. Instead of having +to write all this down, just use the 'X' command at any time to +redisplay these three values for the current application. + +NOTE: loading more code above the NEXT pointer revises these + values. + +As in DDT, when a program is loaded above the area holding the +'A' and 'U' (and now 'W') command code, these commands are +disabled, and the extra memory is released to the user. Thus, +DDTZ can occupy as little as 3K total memory space. Unlike DDT, +however, DDTZ will not overwrite itself or the system on program +loads (except .HEX files). + +At initialization, the stack pointer (SP) points to a return to +DDTZ, just like for the CCP. Thus, programs that normally return +to the CCP will be returned to DDTZ. The 'B' command +reinitializes this condition. + + +The intercept vector copies the BDOS version number, etc., so +an object program does not know that DDTZ is running (except +for BIOS-BDOS vector size). Thus, programs that check the version +number should execute correctly under DDTZ. + +All input parameters can now be entered in any of three formats: + + (1) hexadecimal (as in DDT), + (2) decimal, by adding a leading '#' character, + (3) ASCII, by enclosing between either single or double + quotes; either one or two characters are allowed. + +Leading blanks in command lines and parameters are absorbed. +Either a comma or a (single) space is a valid delimiter. +Either uppercase or lowercase input is accepted. + +The default command (for anything not otherwise recognizable) +is 'H'. This allows convenient calculation, along with the other +features described below. So, to convert a number, just enter +it! + +As in DDT, the prompt character is '-', and the only error +message is the query ('?'), which generally kicks you back to +command mode. + +New Commands (Over DDT): +======================= + +NOTE: letters in parenthesis, e.g. "(U)", show the equivalent + command for DDTZM version (compatible with MSDOS debug). + + @ Sets or shows (with no parameter) the internally stored + "base" value. Also used with the 'S' and 'D' commands as + an optional parameter (though without the '@') to display + memory from an arbitrary base marker (offset). When set to + zero (the default), it does not affect any screen displays. + + B B)egin: resets the USER stack pointer to its initial value, + such that any program that exits by an RET will return to + DDTZ. DDTZ provides a default stack space of + approximately 24 bytes for user programs. + + C C)ompare first_address,last_address,against_address: shows + all the byte differences between two memory areas, in the + format + + XXXX aa YYYY bb + + where XXXX and YYYY are the comparative memory addresses, + and aa and bb are the corresponding byte values. Can be + used to verify the identity of two files by first + loading them into different memory areas with the 'R' + command (see below). + + + W Write: stores the modified memory area to disk under the + (K) filename specified by the 'I' command, overwriting the + original file from which it was loaded (the user is queried + before doing so). By default, the image of memory from + 0100H through the "NEXT" value -1 is saved. "K first_addr, + last_address" overrides this and allows writing ANY memory + area to a file. Almost a necessity for CPM 3.0 (no SAVE!). + K)eep on DDTZ + + X eXamine: redisplays the "NEXT PC SAVE" report at any time. + (Q) Q)uery size on DDTZ. + + S S)earch first_address, last_addr, value: searches the + (W) specified memory area for the value (a 16-bit word, not a + byte) and shows the locations of all such. Very useful for + finding CALL's or JMP's to a particular address, etc. + W)here on DDTZ + + Y Y)our_option parm1,parm2,address: executes an arbitrary + routine at the specified address, with the BC and DE + registers set to parm1 and parm2, respectively. + + Z Displays (but does not alter) the Z80's alternate register + set, including the index registers (disabled if running on + an 8080). On Z80's, automatically included as the last + part of the display by the 'X' command. + + +Based (Offset) Displays: +======================= + +The 'D' and 'E' commands can use a stored base value (offset), +as set by the '@' command. The current @ value may be +overridden for a single execution of these commands by adding the +base as an extra parameter in the command line. The effect is +to add this value to the first/last address and display +accordingly. The address listing on the left becomes XXXX:YYYY, +where XXXX is the offset address and YYYY is the actual memory +address being displayed. For example, if you have a data area +located at 42B7H and wish to preserve easy access, just enter +"@42b7". Now, "d0,3f" will dump memory starting at 4237H. + + +Further Changes from DDT: +======================== + + A A)ssemble now accepts the full Z80 as well as 8080 + instruction set, although it expects them in Intel rather + than Zilog format (see notes below under the 'L' + command). When in doubt, see the mnemnonic list below. + + D D)isplay or D)ump will accept an optional third parameter + to set the base value for a single execution only. Format + has been cleaned up. + + H H)ex_arithmetic on two values also shows their + difference in decimal. With only one value, converts to + hexadecimal, decimal, and ASCII (low-order byte only). + + + N N)ame now allows drive specification (d:...) and sets up + (I) the complete command line, including both FCB's (at + addresses 005CH and 006CH). The tail (stored at 0081H up) + is NOT upshifted. + I)nput on DDTZ + + U U)nassemble now displays the raw hexcode, especially handy + (L) when examining non-code areas. Intel (8080 style) mnemonics + are used, so some disassembled instructions may look + strange. E.g., the Z80's 'IN B,(C)' and 'OUT (C),B' become + 'INP B' and 'OUTP B', respectively; 'LD (nnnn),BC' becomes + 'SBCD nnnn', 'ADD IX, BC' becomes 'DADX B', and 'JP (IX)' + becomes 'PCIX'. + L)ist on DDTZ + + L L)oad now permits loading a file into memory with an + (R) offset, which is added to the default load address of + 0100H. When reading in a .HEX file with a preset bias, + the 'R' command will not transfer control to an invalid + execution point. Another execution of the 'R' command will + reread the input file, e.g.: + + n blah + l + ...modify the code and generally mess about... + l + + The original file is reloaded, and the modifications are + removed. + R)ead on DDTZ + + E E)nter, like D)isplay, now accepts an optional second + (S) parameter to set the base value for a single execution + only. + S)ubstitute or S)et on DDTZ + + T T)rap/trace on termination now shows the complete CPU + state. Traps and traces no longer lock up when a user RST + 7 instruction is executed. Tracing of BDOS/BIOS calls is + heavily trun cated, avoiding clutter and preventing system + crashes. + +NOTE: Most of the UNDOCUMENTED Z80 op-codes are handled. Others + can crash the system. + + R R)egisters also shows what two-byte values the HL and SP + (X) registers are actually pointing to. On Z80's, displays the + alternate register set. + eX)amine on DDTZ + +NOTE: Any use of the 'W' or 'L' command resets the system DMA + transfer address to the standard default value of 0080H. + + +; This is the output of DDTZ when disassembling OPTYPE.TRY +NOP LDA 06A4 MOV M,H +LXI B,06A4 DCX SP MOV M,L +STAX B INR A HLT +INX B DCR A MOV M,A +INR B MVI A,20 MOV A,B +DCR B CMC MOV A,C +MVI B,20 MOV B,B MOV A,D +RLC MOV B,C MOV A,E +EXAF MOV B,D MOV A,H +DAD B MOV B,E MOV A,L +LDAX B MOV B,H MOV A,M +DCX B MOV B,L MOV A,A +INR C MOV B,M ADD B +DCR C MOV B,A ADD C +MVI C,20 MOV C,B ADD D +RRC MOV C,C ADD E +DJNZ 0134 MOV C,D ADD H +LXI D,06A4 MOV C,E ADD L +STAX D MOV C,H ADD M +INX D MOV C,L ADD A +INR D MOV C,M ADC B +DCR D MOV C,A ADC C +MVI D,20 MOV D,B ADC D +RAL MOV D,C ADC E +JR 0134 MOV D,D ADC H +DAD D MOV D,E ADC L +LDAX D MOV D,H ADC M +DCX D MOV D,L ADC A +INR E MOV D,M SUB B +DCR E MOV D,A SUB C +MVI E,20 MOV E,B SUB D +RAR MOV E,C SUB E +JRNZ 0134 MOV E,D SUB H +LXI H,06A4 MOV E,E SUB L +SHLD 06A4 MOV E,H SUB M +INX H MOV E,L SUB A +INR H MOV E,M SBB B +DCR H MOV E,A SBB C +MVI H,20 MOV H,B SBB D +DAA MOV H,C SBB E +JRZ 0134 MOV H,D SBB H +DAD H MOV H,E SBB L +LHLD 06A4 MOV H,H SBB M +DCX H MOV H,L SBB A +INR L MOV H,M ANA B +DCR L MOV H,A ANA C +MVI L,20 MOV L,B ANA D +CMA MOV L,C ANA E +JRNC 0134 MOV L,D ANA H +LXI SP,06A4 MOV L,E ANA L +STA 06A4 MOV L,H ANA M +INX SP MOV L,L ANA A +INR M MOV L,M XRA B +DCR M MOV L,A XRA C +MVI M,20 MOV M,B XRA D +STC MOV M,C XRA E +JRC 0134 MOV M,D XRA H +DAD SP MOV M,E XRA L + + +XRA M JPE 06A4 SLAR M +XRA A XCHG SLAR A +ORA B CPE 06A4 SRAR B +ORA C XRI 20 SRAR C +ORA D RST 5 SRAR D +ORA E RP SRAR E +ORA H POP PSW SRAR H +ORA L JP 06A4 SRAR L +ORA M DI SRAR M +ORA A CP 06A4 SRAR A +CMP B PUSH PSW SLLR B +CMP C ORI 20 SLLR C +CMP D RST 6 SLLR D +CMP E RM SLLR E +CMP H SPHL SLLR H +CMP L JM 06A4 SLLR L +CMP M EI SLLR M +CMP A CM 06A4 SLLR A +RNZ CPI 20 SRLR B +POP B RST 7 SRLR C +JNZ 06A4 RLCR B SRLR D +JMP 06A4 RLCR C SRLR E +CNZ 06A4 RLCR D SRLR H +PUSH B RLCR E SRLR L +ADI 20 RLCR H SRLR M +RST 0 RLCR L SRLR A +RZ RLCR M BIT 0,B +RET RLCR A BIT 0,C +JZ 06A4 RRCR B BIT 0,D +CZ 06A4 RRCR C BIT 0,E +CALL 06A4 RRCR D BIT 0,H +ACI 20 RRCR E BIT 0,L +RST 1 RRCR H BIT 0,M +RNC RRCR L BIT 0,A +POP D RRCR M BIT 1,B +JNC 06A4 RRCR A BIT 1,C +OUT 20 RALR B BIT 1,D +CNC 06A4 RALR C BIT 1,E +PUSH D RALR D BIT 1,H +SUI 20 RALR E BIT 1,L +RST 2 RALR H BIT 1,M +RC RALR L BIT 1,A +EXX RALR M BIT 2,B +JC 06A4 RALR A BIT 2,C +IN 20 RARR B BIT 2,D +CC 06A4 RARR C BIT 2,E +SBI 20 RARR D BIT 2,H +RST 3 RARR E BIT 2,L +RPO RARR H BIT 2,M +POP H RARR L BIT 2,A +JPO 06A4 RARR M BIT 3,B +XTHL RARR A BIT 3,C +CPO 06A4 SLAR B BIT 3,D +PUSH H SLAR C BIT 3,E +ANI 20 SLAR D BIT 3,H +RST 4 SLAR E BIT 3,L +RPE SLAR H BIT 3,M +PCHL SLAR L BIT 3,A + + +BIT 4,B RES 3,D SET 2,H +BIT 4,C RES 3,E SET 2,L +BIT 4,D RES 3,H SET 2,M +BIT 4,E RES 3,L SET 2,A +BIT 4,H RES 3,M SET 3,B +BIT 4,L RES 3,A SET 3,C +BIT 4,M RES 4,B SET 3,D +BIT 4,A RES 4,C SET 3,E +BIT 5,B RES 4,D SET 3,H +BIT 5,C RES 4,E SET 3,L +BIT 5,D RES 4,H SET 3,M +BIT 5,E RES 4,L SET 3,A +BIT 5,H RES 4,M SET 4,B +BIT 5,L RES 4,A SET 4,C +BIT 5,M RES 5,B SET 4,D +BIT 5,A RES 5,C SET 4,E +BIT 6,B RES 5,D SET 4,H +BIT 6,C RES 5,E SET 4,L +BIT 6,D RES 5,H SET 4,M +BIT 6,E RES 5,L SET 4,A +BIT 6,H RES 5,M SET 5,B +BIT 6,L RES 5,A SET 5,C +BIT 6,M RES 6,B SET 5,D +BIT 6,A RES 6,C SET 5,E +BIT 7,B RES 6,D SET 5,H +BIT 7,C RES 6,E SET 5,L +BIT 7,D RES 6,H SET 5,M +BIT 7,E RES 6,L SET 5,A +BIT 7,H RES 6,M SET 6,B +BIT 7,L RES 6,A SET 6,C +BIT 7,M RES 7,B SET 6,D +BIT 7,A RES 7,C SET 6,E +RES 0,B RES 7,D SET 6,H +RES 0,C RES 7,E SET 6,L +RES 0,D RES 7,H SET 6,M +RES 0,E RES 7,L SET 6,A +RES 0,H RES 7,M SET 7,B +RES 0,L RES 7,A SET 7,C +RES 0,M SET 0,B SET 7,D +RES 0,A SET 0,C SET 7,E +RES 1,B SET 0,D SET 7,H +RES 1,C SET 0,E SET 7,L +RES 1,D SET 0,H SET 7,M +RES 1,E SET 0,L SET 7,A +RES 1,H SET 0,M DADX B +RES 1,L SET 0,A DADX D +RES 1,M SET 1,B LXI X,06A4 +RES 1,A SET 1,C SIXD 06A4 +RES 2,B SET 1,D INX X +RES 2,C SET 1,E DADX X +RES 2,D SET 1,H LIXD 06A4 +RES 2,E SET 1,L DCX X +RES 2,H SET 1,M INR [X+05] +RES 2,L SET 1,A DCR [X+05] +RES 2,M SET 2,B MVI [X+05],20 +RES 2,A SET 2,C DADX SP +RES 3,B SET 2,D MOV B,[X+05] +RES 3,C SET 2,E MOV C,[X+05] + + +MOV D,[X+05] DSBC B DADY B +MOV E,[X+05] SBCD 06A4 DADY D +MOV H,[X+05] NEG LXI Y,06A4 +MOV L,[X+05] RETN SIYD 06A4 +MOV [X+05],B IM0 INX Y +MOV [X+05],C LDIA DADY Y +MOV [X+05],D INP C LIYD 06A4 +MOV [X+05],E OUTP C DCX Y +MOV [X+05],H DADC B INR [Y+05] +MOV [X+05],L LBCD 06A4 DCR [Y+05] +MOV [X+05],A RETI MVI [Y+05],2 +MOV A,[X+05] LDRA DADY SP +ADD [X+05] INP D MOV B,[Y+05] +ADC [X+05] OUTP D MOV C,[Y+05] +SUB [X+05] DSBC D MOV D,[Y+05] +SBB [X+05] SDED 06A4 MOV E,[Y+05] +ANA [X+05] IM1 MOV H,[Y+05] +XRA [X+05] LDAI MOV L,[Y+05] +ORA [X+05] INP E MOV [Y+05],B +CMP [X+05] OUTP E MOV [Y+05],C +POP X DADC D MOV [Y+05],D +XTIX LDED 06A4 MOV [Y+05],E +PUSH X IM2 MOV [Y+05],H +PCIX LDAR MOV [Y+05],L +SPIX INP H MOV [Y+05],A +RLCR [X+05] OUTP H MOV A,[Y+05] +RRCR [X+05] DSBC H ADD [Y+05] +RALR [X+05] shld 06A4 ADC [Y+05] +RARR [X+05] RRD SUB [Y+05] +SLAR [X+05] INP L SBB [Y+05] +SRAR [X+05] OUTP L ANA [Y+05] +SRLR [X+05] DADC H XRA [Y+05] +BIT 0,[X+05] lhld 06A4 ORA [Y+05] +BIT 1,[X+05] RLD CMP [Y+05] +BIT 2,[X+05] INP M POP Y +BIT 3,[X+05] OUTP M XTIY +BIT 4,[X+05] DSBC SP PUSH Y +BIT 5,[X+05] SSPD 06A4 PCIY +BIT 6,[X+05] INP A SPIY +BIT 7,[X+05] OUTP A RLCR [Y+05] +RES 0,[X+05] DADC SP RRCR [Y+05] +RES 1,[X+05] LSPD 06A4 RALR [Y+05] +RES 2,[X+05] LDI RARR [Y+05] +RES 3,[X+05] CCI SLAR [Y+05] +RES 4,[X+05] INI SRAR [Y+05] +RES 5,[X+05] OTI SRLR [Y+05] +RES 6,[X+05] LDD BIT 0,[Y+05] +RES 7,[X+05] CCD BIT 1,[Y+05] +SET 0,[X+05] IND BIT 2,[Y+05] +SET 1,[X+05] OTD BIT 3,[Y+05] +SET 2,[X+05] LDIR BIT 4,[Y+05] +SET 3,[X+05] CCIR BIT 5,[Y+05] +SET 4,[X+05] INIR BIT 6,[Y+05] +SET 5,[X+05] OTIR BIT 7,[Y+05] +SET 6,[X+05] LDDR RES 0,[Y+05] +SET 7,[X+05] CCDR RES 1,[Y+05] +INP B INDR RES 2,[Y+05] +OUTP B OTDR RES 3,[Y+05] + + +RES 4,[Y+05] SET 0,[Y+05] SET 4,[Y+05] +RES 5,[Y+05] SET 1,[Y+05] SET 5,[Y+05] +RES 6,[Y+05] SET 2,[Y+05] SET 6,[Y+05] +RES 7,[Y+05] SET 3,[Y+05] SET 7,[Y+05] + +; These are the result of disassembling 64180OPS.TRY +; These opcodes are available ONLY on the 64180 CPU +; DDTZ will both assemble and disassemble these. +IN0 B,20 TST E MLT B +OUT0 20,B IN0 H,20 MLT D +TST B OUT0 20,H TSTI 20 +IN0 C,20 TST H MLT H +OUT0 20,C IN0 L,20 TSIO 20 +TST C OUT0 20,L SLP +IN0 D,20 TST L MLT SP +OUT0 20,D TST M OTIM +TST D IN0 A,20 OTDM +IN0 E,20 OUT0 20,A OIMR +OUT0 20,E TST A ODMR + +; The following are UNDOCUMENTED z80 opcodes from XTDOPS.TRY. +; DDTZ will disassemble these, but will not assemble them. +; They use xh/xl (or yh/yl) as separate byte registers. +; Use these at your own risk. +INRX H ACXR H MOVY H,B +DCRX H ACXR L MOVY H,C +MVIX H,20 SUXR H MOVY H,D +INRX L SUXR L MOVY H,E +DCRX L SBXR H MOVY H,A +MVIX L,20 SBXR L MOVY L,B +MOVX B,H NDXR H MOVY L,C +MOVX B,L NDXR L MOVY L,D +MOVX C,H XRXR H MOVY L,E +MOVX C,L XRXR L MOVY L,A +MOVX D,H ORXR H MOVY A,H +MOVX D,L ORXR L MOVY A,L +MOVX E,H CPXR H ADYR H +MOVX E,L CPXR L ADYR L +MOVX H,B INRY H ACYR H +MOVX H,C DCRY H ACYR L +MOVX H,D MVIY H,20 SUYR H +MOVX H,E INRY L SUYR L +MOVX H,A DCRY L SBYR H +MOVX L,B MVIY L,20 SBYR L +MOVX L,C MOVY B,H NDYR H +MOVX L,D MOVY B,L NDYR L +MOVX L,E MOVY C,H XRYR H +MOVX L,A MOVY C,L XRYR L +MOVX A,H MOVY D,H ORYR H +MOVX A,L MOVY D,L ORYR L +ADXR H MOVY E,H CPYR H +ADXR L MOVY E,L CPYR L + + +Command Summary: +=============== + +DDTZM command DDTZ command +============= ============ +@ (base) +A)ssemble first_address A +B)egin {i.e., initialize stack and return} B +C)ompare first_address,last_address,against_address C +D)ump first_address[,last_address[,base]] D +E)nter_in_memory first_address[,base] S)ubstitute +F)ill first_address,last_address,value F +G)o_to [address][,trap1[,trap2]] G +H)ex_arithmetic value1(,value2) H +L)oad_file (offset) R)ead +M)ove first_address,last_address,destination M +N)nput FCBs_command_line I)nput +Q)uit (not avail) +R)egister examine/change [register|flag] X)amine +S)earch first_address,last_address,word W)hereis +T)race_execution [count] T + Untrace_execution [count] (i.e. do count instr) U)ntrace +U)nassemble_code first_address[,last_address] L)ist code +W)rite [first_address,last_address] K)eep +X)amine {i.e. display memory parameters for application} Q)uery +Y)our_option BC:=parm1,DE:=parm2,call_address Y +Z)80_register_display Z + + +If you find this program useful, contributions will be gratefully +accepted and will encourage further development and release of +useful CPM programs. My practice is to include source. + +C.B. Falconer +680 Hartford Turnpike, +Hamden, Conn. 06517 (203) 281-1438 + +DDTZ and its associated documentation and other files are +copyright (c) 1980-1988 by C.B. Falconer. They may be freely +copied and used for non-commercial purposes ONLY. + diff --git a/Source/RomDsk/ROM_1024KB/DIF.COM b/Source/RomDsk/ROM_1024KB/DIF.COM deleted file mode 100644 index 87b89d75..00000000 Binary files a/Source/RomDsk/ROM_1024KB/DIF.COM and /dev/null differ diff --git a/Source/Images/hd0/s1/u0/FA16.DOC b/Source/RomDsk/ROM_1024KB/FA16.DOC similarity index 100% rename from Source/Images/hd0/s1/u0/FA16.DOC rename to Source/RomDsk/ROM_1024KB/FA16.DOC diff --git a/Source/Images/hd0/s1/u0/FA16A.FOR b/Source/RomDsk/ROM_1024KB/FA16A.FOR similarity index 100% rename from Source/Images/hd0/s1/u0/FA16A.FOR rename to Source/RomDsk/ROM_1024KB/FA16A.FOR diff --git a/Source/Images/hd0/s1/u0/FA16CFG.TXT b/Source/RomDsk/ROM_1024KB/FA16CFG.TXT similarity index 100% rename from Source/Images/hd0/s1/u0/FA16CFG.TXT rename to Source/RomDsk/ROM_1024KB/FA16CFG.TXT diff --git a/Source/RomDsk/ROM_1024KB/FAT.COM b/Source/RomDsk/ROM_1024KB/FAT.COM new file mode 100644 index 00000000..1dd7dcca Binary files /dev/null and b/Source/RomDsk/ROM_1024KB/FAT.COM differ diff --git a/Source/Images/hd0/s1/u0/LDP2D.COM b/Source/RomDsk/ROM_1024KB/LDNZT.COM similarity index 73% rename from Source/Images/hd0/s1/u0/LDP2D.COM rename to Source/RomDsk/ROM_1024KB/LDNZT.COM index 40220f17..535d8418 100644 Binary files a/Source/Images/hd0/s1/u0/LDP2D.COM and b/Source/RomDsk/ROM_1024KB/LDNZT.COM differ diff --git a/Source/RomDsk/ROM_1024KB/MAC.COM b/Source/RomDsk/ROM_1024KB/MAC.COM new file mode 100644 index 00000000..f49e835a Binary files /dev/null and b/Source/RomDsk/ROM_1024KB/MAC.COM differ diff --git a/Source/RomDsk/ROM_1024KB/NULU.COM b/Source/RomDsk/ROM_1024KB/NULU.COM index 3d45098a..fc5594b1 100644 Binary files a/Source/RomDsk/ROM_1024KB/NULU.COM and b/Source/RomDsk/ROM_1024KB/NULU.COM differ diff --git a/Source/RomDsk/ROM_1024KB/PMARC.COM b/Source/RomDsk/ROM_1024KB/PMARC.COM new file mode 100644 index 00000000..59bd3ef3 Binary files /dev/null and b/Source/RomDsk/ROM_1024KB/PMARC.COM differ diff --git a/Source/RomDsk/ROM_1024KB/PMEXT.COM b/Source/RomDsk/ROM_1024KB/PMEXT.COM new file mode 100644 index 00000000..d3a51ca3 Binary files /dev/null and b/Source/RomDsk/ROM_1024KB/PMEXT.COM differ diff --git a/Source/Images/hd0/s1/u0/PUTBG.COM b/Source/RomDsk/ROM_1024KB/PUTBG.COM similarity index 100% rename from Source/Images/hd0/s1/u0/PUTBG.COM rename to Source/RomDsk/ROM_1024KB/PUTBG.COM diff --git a/Source/RomDsk/ROM_1024KB/SID.COM b/Source/RomDsk/ROM_1024KB/SID.COM deleted file mode 100644 index 3b073ba5..00000000 Binary files a/Source/RomDsk/ROM_1024KB/SID.COM and /dev/null differ diff --git a/Source/RomDsk/ROM_1024KB/STAMPS.DAT b/Source/RomDsk/ROM_1024KB/STAMPS.DAT index 23cd9bd7..a312ae58 100644 Binary files a/Source/RomDsk/ROM_1024KB/STAMPS.DAT and b/Source/RomDsk/ROM_1024KB/STAMPS.DAT differ diff --git a/Source/RomDsk/ROM_1024KB/UNCR.COM b/Source/RomDsk/ROM_1024KB/UNCR.COM new file mode 100644 index 00000000..42385ddd Binary files /dev/null and b/Source/RomDsk/ROM_1024KB/UNCR.COM differ diff --git a/Source/RomDsk/ROM_1024KB/VIDATT.Z80 b/Source/RomDsk/ROM_1024KB/VIDATT.Z80 deleted file mode 100644 index 073bb84f..00000000 --- a/Source/RomDsk/ROM_1024KB/VIDATT.Z80 +++ /dev/null @@ -1,69 +0,0 @@ - title WordStar 4.0 Video Attributes Driver - -strngout equ 0283h - -esc equ 1bh -dim equ 1 -blink equ 2 -invert equ 4 -uline equ 8 - - aseg - org 03c1h - -vidatt: - xor a - ld hl,funtbl - ld b,8 -getloop: - rr c - jr nc,getnext - or a,(hl) -getnext: - inc hl - djnz getloop -; - ld hl,string+2 ; attribute #1 on/off indicator - push hl - ld b,4 - ld de,'?!' ; ? = attribute off, ! = attribute on -setloop: - rra - jr nc,attroff - ld (hl),e ; attribute on - jr setnext -attroff: - ld (hl),d ; attribute off -setnext: - inc hl - inc hl - inc hl ; advance to next on/off indicator - djnz setloop -; - pop hl ; hl --> dim on/off - ld a,d ; attribute off - cp (hl) ; dim off? - jr nz,setdim - ld a,e ; attribute on -setdim: - ld (hl),a - ld hl,string - jp strngout ; ws string routine -; -; -funtbl: - defb dim ; strike out - defb invert or blink ; warnings & errors - defb invert ; block - defb uline ; underline - defb blink ; subscript - defb blink or uline ; superscript - defb invert ; menu, headline, bold, double - defb invert or uline ; italics, RET, backspace -; -string: - defb 12,esc,' 2',esc,' 3',esc,' 4',esc,' 5' -; -finis equ $ - end - \ No newline at end of file diff --git a/Source/RomDsk/ROM_1024KB/WS.COM b/Source/RomDsk/ROM_1024KB/WS.COM deleted file mode 100644 index aa028bc3..00000000 Binary files a/Source/RomDsk/ROM_1024KB/WS.COM and /dev/null differ diff --git a/Source/RomDsk/ROM_1024KB/WS.OVR b/Source/RomDsk/ROM_1024KB/WS.OVR deleted file mode 100644 index 5e3c8773..00000000 Binary files a/Source/RomDsk/ROM_1024KB/WS.OVR and /dev/null differ diff --git a/Source/RomDsk/ROM_1024KB/WSCHANGE.COM b/Source/RomDsk/ROM_1024KB/WSCHANGE.COM deleted file mode 100644 index bc85c1fc..00000000 Binary files a/Source/RomDsk/ROM_1024KB/WSCHANGE.COM and /dev/null differ diff --git a/Source/RomDsk/ROM_1024KB/WSCHANGE.OVR b/Source/RomDsk/ROM_1024KB/WSCHANGE.OVR deleted file mode 100644 index 4f707c63..00000000 Binary files a/Source/RomDsk/ROM_1024KB/WSCHANGE.OVR and /dev/null differ diff --git a/Source/RomDsk/ROM_1024KB/WSHELP.OVR b/Source/RomDsk/ROM_1024KB/WSHELP.OVR deleted file mode 100644 index 02634675..00000000 Binary files a/Source/RomDsk/ROM_1024KB/WSHELP.OVR and /dev/null differ diff --git a/Source/RomDsk/ROM_1024KB/WSMSGS.OVR b/Source/RomDsk/ROM_1024KB/WSMSGS.OVR deleted file mode 100644 index 84625d8e..00000000 Binary files a/Source/RomDsk/ROM_1024KB/WSMSGS.OVR and /dev/null differ diff --git a/Source/RomDsk/ROM_1024KB/WSPRINT.OVR b/Source/RomDsk/ROM_1024KB/WSPRINT.OVR deleted file mode 100644 index 83bef6ea..00000000 Binary files a/Source/RomDsk/ROM_1024KB/WSPRINT.OVR and /dev/null differ diff --git a/Source/RomDsk/ROM_1024KB/WSSHORT.OVR b/Source/RomDsk/ROM_1024KB/WSSHORT.OVR deleted file mode 100644 index b44f1480..00000000 Binary files a/Source/RomDsk/ROM_1024KB/WSSHORT.OVR and /dev/null differ diff --git a/Source/RomDsk/ROM_1024KB/WSU.COM b/Source/RomDsk/ROM_1024KB/WSU.COM deleted file mode 100644 index 39830fdf..00000000 Binary files a/Source/RomDsk/ROM_1024KB/WSU.COM and /dev/null differ diff --git a/Source/RomDsk/ROM_1024KB/ZSID.COM b/Source/RomDsk/ROM_1024KB/ZSID.COM new file mode 100644 index 00000000..686b3775 Binary files /dev/null and b/Source/RomDsk/ROM_1024KB/ZSID.COM differ diff --git a/Source/RomDsk/ROM_512KB/COMPARE.COM b/Source/RomDsk/ROM_512KB/COMPARE.COM new file mode 100644 index 00000000..29fa41e6 Binary files /dev/null and b/Source/RomDsk/ROM_512KB/COMPARE.COM differ diff --git a/Source/RomDsk/ROM_512KB/DIF.COM b/Source/RomDsk/ROM_512KB/DIF.COM deleted file mode 100644 index 87b89d75..00000000 Binary files a/Source/RomDsk/ROM_512KB/DIF.COM and /dev/null differ diff --git a/Source/RomDsk/ROM_512KB/NULU.COM b/Source/RomDsk/ROM_512KB/NULU.COM index 3d45098a..fc5594b1 100644 Binary files a/Source/RomDsk/ROM_512KB/NULU.COM and b/Source/RomDsk/ROM_512KB/NULU.COM differ diff --git a/Source/RomDsk/ReadMe.txt b/Source/RomDsk/ReadMe.txt index 37cf4faf..05f0f22d 100644 --- a/Source/RomDsk/ReadMe.txt +++ b/Source/RomDsk/ReadMe.txt @@ -14,15 +14,6 @@ first grabs all of the "standard" files for the size of ROM being built. So, if you are building a normal 512KB ROM, all of the files in 512KB directory will be pulled in. -After adding all of the standard files for the size of ROM being -built, the build process will add the files from the appropriate -platform directory. So, if you are building a ROM for the Zeta -platform, all of the files in the zeta directory will be added. - -The reason for the platform directories is that some programs are -specific to a platform. The platform directories provide a mechanism -to add platform specific programs. - You may freely add/delete/update the files in these directories to change the contents of the ROM Disk of your ROM firmware. diff --git a/Source/ZPM3/Build.cmd b/Source/ZPM3/Build.cmd index 9dfd70a4..9537f2e0 100644 --- a/Source/ZPM3/Build.cmd +++ b/Source/ZPM3/Build.cmd @@ -11,12 +11,12 @@ set ZXINCDIR=%TOOLS%/cpm/include/ copy ..\ZCCP\ccp.com zccp.com copy ..\ZCCP\zinstal.zpm . -copy ..\ZCCP\startzpm.com +copy ..\ZCCP\startzpm.com . copy ..\CPM3\genbnk.dat . -rem copy ..\CPM3\bios3.spr . -copy ..\CPM3\bnkbios3.spr . +copy ..\CPM3\zpmbios3.spr bnkbios3.spr copy ..\CPM3\gencpm.com . -copy ..\CPM3\biosldr.rel +copy ..\CPM3\biosldr.rel . +copy ..\CPM3\cpmldr.com . rem ZPM Loader echo. @@ -26,38 +26,42 @@ echo. zx LINK -ZPMLDR[L100]=ZPM3LDR,BIOSLDR rem pause -rem Banked CPM3 +rem Banked ZPM3 echo. echo. echo *** Banked ZPM3 *** echo. copy genbnk.dat gencpm.dat zx gencpm -auto -display -if exist zpm3.sys del zpm3.sys -ren cpm3.sys zpm3.sys rem pause -if not exist ../../Binary/hd_cpm3.img goto :eof +if not exist ../../Binary/hd_zpm3.img goto :eof -rem Update cpm_hd.img +rem Update hd_zpm3.img echo. echo. echo *** Update Disk Image *** echo. for %%f in ( zpmldr.com + cpmldr.com autotog.com clrhist.com setz3.com - zpm3.sys + cpm3.sys zccp.com zinstal.zpm startzpm.com + makedos.com + gencpm.dat + bnkbios3.spr + bnkbdos3.spr + resbdos3.spr ) do call :upd_img %%f goto :eof :upd_img echo %1... -cpmrm.exe -f wbw_hd0 ../../Binary/hd_cpm3.img 0:%1 -cpmcp.exe -f wbw_hd0 ../../Binary/hd_cpm3.img %1 0:%1 +cpmrm.exe -f wbw_hd0 ../../Binary/hd_zpm3.img 0:%1 +cpmcp.exe -f wbw_hd0 ../../Binary/hd_zpm3.img %1 0:%1 goto :eof \ No newline at end of file diff --git a/Source/ZPM3/Clean.cmd b/Source/ZPM3/Clean.cmd index f4b6eab1..91ffcb36 100644 --- a/Source/ZPM3/Clean.cmd +++ b/Source/ZPM3/Clean.cmd @@ -1,7 +1,7 @@ @echo off setlocal -if exist ccp.com del ccp.com +if exist zccp.com del zccp.com if exist *.sys del *.sys if exist gencpm.dat del gencpm.dat if exist loader.cim del loader.cim @@ -12,7 +12,7 @@ if exist system.odd del system.odd if exist biosldr.rel del biosldr.rel if exist *.sym del *.sym if exist zpmldr.com del zpmldr.com -if exist zccp.com del zccp.com +if exist cpmldr.com del cpmldr.com if exist startzpm.com del startzpm.com if exist gencpm.com del gencpm.com if exist *.dat del *.dat