DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦5133055a6⟧ TextFile

    Length: 10880 (0x2a80)
    Types: TextFile
    Names: »SPZ.DOC«

Derivation

└─⟦692ac107c⟧ Bits:30005923 PolyPascal-80 V3.10 arbejdsdiskette 1
    └─ ⟦this⟧ »SPZ.DOC« 

TextFile

                                    SPZ.COM
             SPZ  is  a  full  screen interactive  disk  update  utility, 
       providing  many of the features found in DU.COM.  The program  is 
       menu driven, and little additional documentation is required. The 
       following notes consist of a functional overview,  plus notes  on 
       features not documented in the menus.


       SYSTEM REQUIREMENTS.


            SPZ requires a Z80 - it may be possible to update the source 
       for 8080 but extensive use is made of Z80 opcodes, and this would 
       be  a large exercise.  Subroutines would be required to  simulate 
       LDIR,  LDDR,  and  CPIR,  to  say nothing of varieties of  shift, 
       rotate and load instructions.

            CPM 2.x is required.

            One or more disks may be used - SPZ determines if a selected 
       disk is defined in the BIOS before attempting to access it.

            The  terminal  used must support  cursor  addressing,  clear 
       screen, and erase to end of line. At least an 80 by 24 display is 
       required.

                                  FACILITIES.

            SPZ enables disk sector editing in HEX or ASCII,  using File 
       Relative  or  Track/Sector addressing.  In File Relative  mode  a 
       sorted  directory  listing is used to select the  file.  In  both 
       modes  forward  and backward browse is provided,  in addition  to 
       random record selection.  The displayed sector may be copied to a 
       scratchpad  buffer,   or  exchanged  with  the  scratchpad.   The 
       directory  list may be full (*.*) or selective,  eg *.ASM and the 
       selection may be changed at any time.

            A file TYPE facility gives a paged, formatted display of any 
       file.  Control characters are displayed as "." except for TAB and 
       Carriage return/Line feed which are processed normally. COM files 
       are not formatted.

            The  SPZ  command  format may  enter  any  operational  mode 
       directly -

            SPZ                    enters SPZ with a *.* directory list.
            SPZ d:                 as above with d:*.* directory list.
            SPZ Æd:Åafn            as above with d:afn directory list.
            SPZ Æd:Åufn            enters SPZ in file relative mode, 
                                   using the specified file.
            SPZ Æd:ÅDSK:           enters SPZ in Track Sector addressing
                                   mode on the specified drive.


       DIRECTORY LIST MODE.

            In directory list mode the cursor is positioned on the first 
       filename displayed.  The cursor can be moved LEFT,  RIGHT,  UP or 
       DOWN using Control keys.  A file is selected by typing a  command 
       character  against the required file name - "E" for file relative 
       editting, or "T" for the TYPE function.

            Up to 32 file names are listed. If there are more files, the 
       directory list may be paged forward and back.

            Other  drives may be selected or the current disk changed  - 
       NOTE  - if the disk in the current drive is changed,  the "change 
       disk"  function  should be used to select the same  drive  again. 
       This  provides a new directory list,  and avoids CP/M making  the 
       disk Read Only.

            Track/Sector addressing is selected from the directory  list 
       display.

            The directory list selection may be changed - the default is 
       *.* unless set by the SPZ command.

       FILE RELATIVE MODE.

            In this mode the selected file is displayed in HEX and ASCII 
       format  with  record number and file offset displayed.  For  .COM 
       files the address when loaded at 0100H is diplayed.

            The record displayed may be selected by browsing forward and 
       back,  locating the first or last record,  or by setting a record 
       number  (in HEX).  When setting a record number,  Hex digits  are 
       entered  in  "calculator style" - new digits are entered  on  the 
       right  while the number moves left.  Backspace deletes  the  last 
       digit  entered,  and Escape restores the original  number.  These 
       features  are common to all number entries in SPZ.  The  selected 
       record  is read when RETURN is pressed.  If it is not found,  the 
       previous record number will be restored.
             

            The  displayed  record may be changed  by  typing  "C".  The 
       cursor  is positioned on the first hex digit,  and is moved using 
       the same control keys as are used in the directory list mode. Any 
       valid  hex digit may be typed to alter the record.  The  TAB  key 
       moves  the  cursor  to  it corrosponding location  in  the  ASCII 
       display, allowing character strings to be easily changed. Another 
       TAB returns the cursor to the HEX display area.

            Two control codes are available to stop editing the record - 
       one saves the changes and rewrites the record to disk,  the other 
       restores the record to its original contents.

            Return to directory list mode is made by typing "L".


       TYPE FILE 

           Files are TYPEd with up to 72 characters per line,  18 lines 
       per page.  Except for .COM files, Carriage return/Line feed codes 
       are honoured, and Tabs are expanded. All other control characters 
       are  displayed  as  "."  to  prevent  unwanted  terminal  control 
       functions.

            Forward   and  backward  paging  operations  are   provided, 
       including return to top of file.  Following paging,  the  highest 
       page displayed can be restored.

          
       DIRECTORY LIST SELECTION.

            The  ambiguous file name used for the directory list may  be 
       edited  by  typing "M" in the directory list  mode  display.  The 
       existing  file NAME and TYPE may be overwritten or  edited  using 
       INSERT and DELETE control keys.  Only those characters defined as 
       legal in the CPM documentation are permitted.

            If  "*"  is  typed at any point in the  NAME  or  TYPE,  the 
       remainder  of the field will be filled with "?".  If a  SPACE  is 
       typed the remainder of the field will be blanked out. Period also 
       has  this  effect if used in the NAME field - an  ambiguous  file 
       name may thus be entered in the normal fashion.

            The TAB key switches between editing the NAME and TYPE.

            The  ESCAPE  key  restores the  original  selection,  RETURN 
       produces a new directory list.

            NOTE  - insert  and  delete  affect  only  the  field  being 
       editted, - characters do not wrap between name and type.

       TRACK/SECTOR ADDRESSING.

            This  mode is entered by typing "S" in directory list  mode. 
       The  facilities provided here are similar to File Relative  mode, 
       but  sectors  are  selected  by setting  (or  browsing  back  and 
       forward) track and sector numbers. The allocation block number is 
       also displayed and may be set.  When a block number is  set,  the 
       first sector of that block is displayed.  The record diplayed may 
       be  altered  in  the  same manner  as  File  Relative  mode.  The 
       scratchpad  facility  is also available in this mode.  Note  that 
       sectors saved in one mode are available for exchange in the other 
       mode. 


                                 INSTALLATION

            SPZ uses the following terminal facilities -

                 Cursor Addressing
                 Clear Screen
                 Erase to end of line.

            SPZ assumes that the cursor is positioned by a prefix string 
       followed  by ROW+020H,  COLUMN+020H.  If this is not the case for 
       your  terminal  you must update routine CURS and  reassemble  and 
       link SPZ. 

            The  cursor positioning prefix,  and other functions may  be 
       altered  using  DDT,  or preferably a  Z80  debugger. 

            Three 4 byte strings are reserved at 180H,  for VDU  control 
       strings, each of which MUST end in 00H.

            180H - Clear Screen
            184H - Erase to end of line
            188H - Cursor position prefix

            The  byte  at  18CH  is used as a "flag"  character  in  the 
       directory list - the cursor is positioned over it.

            The  control  keys used for cursor movement are  defined  by 
       equates  in  the assembler source and may be altered if  desired. 
       The menus will reflect any changes made to these equates.



                           SPZ.MAC

            Several  Macros  are used in the  SPZ  assembly.  These  are 
       provided inline.

            $RTN       is used to head each subroutine.  It generates  a 
       label  (using DS 0 because Microsoft seem to think EQU statements 
       do  not need to be listed in the Macro expansion Æ  Ah  well,  it 
       takes  all kinds ...Å).  An entry statement is also generated  so 
       that the L80 /Y otption will provide symbols for ZSID.

            $PANEL     Generates a call to the panel display subroutine, 
                       passing a panel name as a parammeter. 
            $NPANEL    Does the same, but first clears the screen.
            $FLD       Generates a call to the field display subroutine.
            $IFLD      Same  as $FLD,  but  also inputs a character  and 
                       converts to upper case.
            $STRO      Prints the specified string.
            $HEXW      Prints a 4 byte HEX number.
            $MTCH      Calls the string search function.
            $EXVA      Calls the vectored call function.


       Control Code Equates.

            A  set of EQU statements is provided to change  the  control 
       codes  used  throughout SPZ.  These EQUates are also used in  the 
       menus,  hence  changes to these will correctly  update  displayed 
       messages.  Take  care  not to use 00H - CPM function 6  does  not 
       return  the ^@ key!  also codes realy must be control codes - 01H 
       to 1FH otherwise the panels get funny,  and results might not  be 
       what you expect when editting a sector.


                                 Thats it Folks - 

		                	Willie Davidson.
					8 Comely Bank Street
					Edinburgh
					Scotland.


































«eof»