home *** CD-ROM | disk | FTP | other *** search
-
- SIG/M volume 13 a) MITS to CP/M file conversion system
- b) HELP file system
- c) related system support programs
- d) FIG-FORTH 1.1 system
-
- number name size description
-
- 13.1 MITSCNVT.ASM 28K MITS to CP/M file conversion
- 13.2 MITSCNVT.COM 7K /
- 13.3 MITSCNVT.CPM 3K /
- 13.4 MITSCNVT.DOC 7K /
- 13.5 MITSCNVT.HEX 8K /
-
- 13.6 ABORTSUB.COM 2K HELP file system
- 13.7 HELP.ASM 13K /
- 13.8 SYSLIB.HLP 37K /
- 13.9 SYSLIB.REL 9K /
- 13.10 HELP.COM 2K /
- 13.11 MASM.SUB 1K /
- 13.12 PHELP.COM 2K /
- 13.13 PHELP.MAC 6K /
- 13.14 HELP.DOC 4K /
-
- 13.15 SD-2/6.ASM 18K updated SUPER DIRECTORY display
- 13.16 SD.COM 2K /
- 13.17 ENTAB.ASM 6K space suppression program
- 13.18 ENTAB.COM 1K /
- 13.19 UTIL.FOR 2K FORTRAN array handling subroutine
- 13.20 LOOPBAK1.BAS 2K PMMI loop back test
-
- 13.21 FORTH11.ASM 40K FIG-FORTH version 1.1
- 13.22 FORTH11.COM 23K /
- 13.23 FORTH11.DOC 4K /
-
- FORTH.DOC
-
-
- NOTE from CALAMITY CLIFFS COMPUTER CENTER - 9/1/80
-
- The FORTH11.ASM file as it stands is apparently set up to run on a
- HEATH system. We have no information on the function of any of the
- labels in the source listing, and as there is no (or very little)
- useful commenting in the source listing regarding what code is hard-
- ware dependent and how it should be modified for use on other systems,
- we offer this program with the advice:
-
- ****** CAUTION >>>> CAVEAT EMPTOR <<<< CAUTION ******
-
- Before attempting to use or modify the program, it is advised that the
- complete documentation be procured from the FORTH INTEREST GROUP. In
- addition it might be a good idea to contact Rick Schaeffer for clari-
- fication concerning the uncertain function of much of the code in the
- program. The only thing that we can attest to at the present time is
- that we have successfully assembled the code, as you see it here, with
- the CP/M 2.2 Digital Research assembler without error. We have not
- tried to run the program, as the hardware dependencies have not been
- identified with certainty. In addition, we have no idea whether or not
- it will run successfully under CP/M 2.2.
-
- -Calamity Cliffs Computer Center
-
-
- THIS DOCUMENTATION SUPPLEMENTS THE ASSEMBLER SOURCE FOR FIG-FORTH WHICH
- RESIDES HERE AS FORTH11.ASM. THIS SOURCE IS PROVIDED THROUGH THE COURTESY
- OF THE FORTH INTEREST GROUP, P.O. BOX 1105, SAN CARLOS, CA. 94070
- AND WAS ENTERED AND DEBUGGED BY RICK SCHAEFFER, 2011 AZTEC DR. BLACKFOOT #1
- NORTH LITTLE ROCK, AR. 72116.
-
- THIS COPY OF FIG-FORTH HAS BEEN DE-BUGGED IN THAT IT IS RUNNING ON MY
- H8 SYSTEM UNDER CP/M VERSION 1.43. AFTER SEVERAL ABORTIVE ATTEMPTS,
- I SUCCEEDED IN DOWN LOADING IT TO MICRONET BUT I HAVE NO WAY OF KNOWING
- IF THERE WERE ANY ERRORS IN TRANSMISSION SINCE I DO NOT HAVE ANY WAY
- OF HAND SHAKING WITH MNET. ON THE VERSION THAT I HAVE RUNNING, I HAVE
- CHANGED SOME OF THE ADDRESSES TO MAKE ROOM FOR MORE DISK BUFFERS, HOWEVER,
- THIS COPY IS INTACT AS PRINTED IN THE FIG-FORTH ASSEMBLY LISTING. THIS
- SHOULD MAKE IT RELATIVELY EASY FOR INTERESTED USERS TO GET THE SYSTEM RUNNING
- EVEN IF SOME OF THE DATA WAS LOST IN TRANSMISSION BECAUSE THE ASSEMBLED
- ADDRESSES SHOULD BE THE SAME AS THEY APPEAR IN THE FIG LISTINGS (THIS IS
- FOR FIG-FORTH VERSION 1.1....BY THE WAY). YOU SHOULD HAVE THE FIG
- MODEL MANUAL AND THE FIG ASSEMBLY SOURCE LISTING BEFORE ATTEMPTING TO USE
- THIS. HOPEFULLY, AT LEAST THIS SAVES A *LOT* OF TYPING FOR SOMEONE!
- GOOD LUCK!
- RICK SCHAEFFER (70120,174)
-
-
- OK
-
-
-
-
- Program HELP
-
- SOURCE LANGUAGE CP/M ASSEMBLER.. HARDWARE REQUIRED CRT 24x80..
-
- MEMORY REQUIRED Depends on HELP File Loaded (56K Max)..........
-
- DESCRIPTION OF WHAT IT DOES:
-
- HEL╨á i≤á ß prograφ whicΦ provide≤ aε interactivσ onlinσá documenì
- tatioε system«á WitΦ thσ supplieΣ HEL╨ Files¼á HEL╨ display≤ selecteΣá secì
- tion≤á oµá thσá HEL╨ File≤ t∩ thσ use≥ onσ screeε displa∙ a⌠á ßá time«á Al∞ ì
- outpu⌠ i≤ orienteΣ fo≥ displa∙ oε ß 2┤ linσ ° 8░ columε CRT.
- Tw∩ type≤ oµ HEL╨ File≤ arσ supporteΣ b∙ thσ HEL╨ program«á Thesσ ì
- arσ indexeΣ anΣ non-indexed«á WitΦ ß non-indexeΣ HEL╨ File¼á HEL╨á display≤ ì
- thσá entirσ filσ t∩ thσ use≥ onσ screen-displa∙ a⌠ ß time«á WitΦ aε indexeΣ ì
- HEL╨á File¼á HEL╨ display≤ ß men⌡ oµ thσ section≤ oµ thi≤ HEL╨ Filσá t∩á thσ ì
- use≥ anΣ allow≤ hiφ t∩ selec⌠ aε item«á Single-characte≥ inpu⌠ i≤ employed« ì
- Oncσ selected¼ HEL╨ jump≤ t∩ tha⌠ sectioε anΣ display≤ i⌠ onσ screen-displa∙ ì
- a⌠ ß time.
- Thσ use≥ ma∙ returε t∩ CP/═ a⌠ an∙ time¼á anΣ witΦ aε indexeΣ HEL╨ ì
- Filσá ma∙ returε t∩ thσ men⌡ a⌠ an∙ time«á Thσ filσ HELP.HL╨ tell≤ thσ use≥ ì
- ho≈ t∩ writσ hi≤ owε HEL╨ Files.
- Al∞ HEL╨ File≤ havσ ß namσ oµ thσ forφ 'filename.HLP'.
-
- HOW TO USE IT:
- HELP is invoked by CP/M commands of the following forms --
-
- HELP
- HELP d:filename
-
- Thσ forφ withou⌠ ß filσ namσ simpl∙ give≤ ß basiπ built-iεá introì
- ductioεá t∩ thσ HEL╨ prograφ iµ thσ filσ HELP.HL╨ i≤ no⌠ oε thi≤á disk«á Iµ ì
- HELP.HL╨á i≤ oε thi≤ disk¼á i⌠ i≤ reaΣ anΣ displayed«á Thσ seconΣ forφ disì
- play≤á thσá content≤ oµ thσ indicateΣ HEL╨ namσá 'filename.HLP'«á Thσá disδ ì
- drivσ paramete≥ 'd:º i≤ optional.
-
-
- SPECIA╠ NOTE║á Thσ HEL╨ commanΣ anΣ somσ oµ thσ associateΣá *.HL╨ ì
- file≤á supplieΣá witΦá thi≤ submissioε arσ beinτ distributeΣá witΦá product≤ ì
- marketeΣ b∙ Supersof⌠ Associate≤ oµ Champaign¼á IL«á ╔ aφ thσ autho≥ oµ thσ ì
- encloseΣ program≤ anΣ *.HL╨ files«á ╔ aφ placinτ theφ iε thσ publiπ domain╗ ì
- thesσá program≤á anΣá *.HL╨á file≤ arσ simpl∙á beinτá includeΣá iεá marketeΣ ì
- package≤ anΣ no⌠ beinτ solΣ oµ anΣ b∙ themselves.
-
- Program HELP (Details on another disk)
- Program PHELP
- Library SYSLIB
- Program ABORTSUB
-
- SOURCE LANGUAGE M80 Assembler HARDWARE REQUIRED Hard Copy
-
- MEMORY REQUIRED Varies with HELP File (56K Max) ...............è
- DESCRIPTION OF WHAT IT DOES:
- PHEL╨á i≤á ßá companioε t∩ thσ HEL╨ prograφ (als∩á submitteΣá t∩ ì
- SIG/M)« PHEL╨ print≤ thσ content≤ oµ ß HEL╨ filσ oε thσ CP/═ LST║ device« ì
- Thσ outpu⌠ i≤ paged¼á eacΦ pagσ containinτ onσ screeε displa∙ a≤ i⌠á woulΣ ì
- be generated by the HELP program.
-
- HOW TO USE IT:
- PHELP is invoked by the following CP/M command line --
-
- PHELP d:filename <header text>
-
- PHEL╨á wil∞ prin⌠ thσ indicateΣ HEL╨ Filσ nameΣá 'filename.HLP'« ì
- Thσá disδá specificatioε 'd:º anΣ thσ <heade≥ text╛ arσá optiona∞á (heade≥ ì
- tex⌠á neeΣá no⌠á bσ encloseΣ iε anglσ brackets)«á Interna∞ t∩á thσá PHEL╨ ì
- prograφ arσ thσ specification≤ oµ thσ user'≤ printer« I⌠ i≤ se⌠ fo≥ ß TT┘ ì
- Mode∞á 4│á a≤ ╔ submitteΣ thσ program¼á anΣ PHEL╨ mus⌠ bσá reassembleΣá t∩ ì
- change these settings (51 physical lines/page, 40 text lines/page).
-
- SYSLI┬ i≤ thσ librar∙ ╔ designeΣ whicΦ mus⌠ bσ useΣ t∩á assemblσ ì
- PHELP with M80. Use the indirect command file 'MASM.SUB' to do this:
-
- SUBMIT MASM PHELP
-
- Thσáá routine≤á iεá SYSLI┬á arσá describeΣá iεá thσá HEL╨áá filσ ì
- SYSLIB.HLP.
-
- ABORTSU┬ i≤ ß prograφ requireΣ b∙ MASM.SUB« I⌠ permit≤ abnorma∞ ì
- terminatioεá oµá ß SUBMITteΣ file«á Issuσ thσ followinτ commanΣ fo≥á morσ ì
- information:
-
- ABORTSUB /?
-
-
-
-
- SIGNED Richard Conn .................
-
- DATE 4 Feb 81 .......................
-
-
-
-
-
- Thi≤ elemen⌠ contain≤ thσ documentatioε fo≥ MITSCNVT.
-
- MITSCNV╘á i≤ ß prograφ whicΦ operate≤ unde≥ CP/═ anΣ enable≤á thσ ì
- use≥á t∩á lis⌠ thσ director∙ anΣ conver⌠ MIT╙ ALTAI╥á (T═á Perteπ ì
- Compute≥á Corp⌐ disδ file≤ t∩ CP/═ files«á Thσ reasoε conversioε ì
- i≤á requireΣ i≤ tha⌠ thσ disδ format≤ arσ differen⌠ anΣ tha⌠á thσ ì
- ALTAI╥ DIS╦ i≤ ß harΣ sectoreΣ disδ whicΦ contain≤ 3▓ sector≤á oµ ì
- 13╖ byte≤ eacΦ pe≥ track« ┴ CP/═ compatablσ disδ i≤ sof⌠ sectoreΣ ì
- anΣ i≤ composeΣ oµ 2╕ sector≤ oµ 12╕ o≥ 25╢ byte≤ eacΦ sector.
-
- Thσ ALTAI╥ disδ i≤ capablσ oµ containinτ ß 25╡ entr∙ director∙ oε ì
- eacΦ disδ anΣ eacΦ director∙ entr∙ "pointsó t∩ ß threadeΣ lis⌠ oµ ì
- sectors«á Iε orde≥ t∩ ensurσ thσ integrit∙ oµ thσ threadeΣ list¼ ì
- eacΦ secto≥ iε thσ lis⌠ contain≤ ß singlσ bytσ whicΦ i≤ thσ "filσ ì
- numberóá - aε intege≥ calculateΣ froφ thσ locu≤ oµ thσá director∙ ì
- entry«á If¼á durinτá operation≤á oε thσ chain¼á thσ filσá numbe≥ ì
- change≤ ß 'filσ linδ errorº i≤ giveε anΣ thσ prograφ aborts« Thσ ì
- calculatioε fo≥ thσ filσ numbe≥ i≤ giveε erroneousl∙ iε thσá MIT╙ ì
- documentatioε anΣ i≤ correcteΣ here:
-
- 8*SECTOR+(SLOT+1)
-
- Wherσá SECTO╥ i≤ thσ director∙ secto≥ numbe≥ (0-31⌐ iε whicΦá thσ ì
- filσá namσá i≤ founΣ anΣ SLO╘ i≤ thσ grou≡ numbe≥ oµ ßá 1╢á bytσ ì
- widσ director∙ entr∙ oµ thσ format:
-
- Bytes Description
- ------------------------------------------------------
- 00-07 ASCII File Name - if the first character is a
- zero (binary zero) the entry is ignored. If
- it is 0ff (all one bits) this is the last entry
- in the directory. An ignored entry is the
- result of deleting a file in the MITS directory.
-
- 08 Track address of the first sector in the file.
- Track 0-5 are never used as they are 'system'
- tracks. Track 70 is the directory track.
-
- 09 Sector number of the first sector of the file.
- Sectors are always 0,8,16 or 24. Sectors are
- allocated in groups of eight. There is no
- pattern for it, but, because of latency consid-
- erations odd numbered sectors are 16+sector number
- AND 1Fh away from the even sector in a logical
- sense. My calculations indicate this is a poor
- choice and if you have ever heard ALTAIR Disk
- Extended Basic or DOS run, you'll know its not
- too good.
-
- 10 Flag to indicate file organization - 4=random
- 2=sequential
-
- 11-15 Wasted bytes NOTE: at one time or another the
- program MITSCNVT uses these bytes to store some
- information about each file -not on the diskè but in memory.
-
- ----------------------------------------------------------
- A≤áá aεáá examplσá le⌠á mσá usσá thσá filσá &OCTBI╬áá fo≥ ì
- illustratioε purposes«á I⌠ - quitσ arbitraril∙ - wil∞ bσ assumeΣ ì
- t∩ star⌠ iε tracδ 7▓ secto≥ 0«á Thi≤ woulΣ bσ it≤ director∙ entr∙ ì
- iµ i⌠ werσ ß sequentia∞ file:
- __________________________________________________________
- | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |....
- ----------------------------------------------------------
- & O C T B I N b 72
-
- ----------------------------------------------------------
- | 10 | 11 | 12 | 13 | 14 | 15 | 16 | byte number
- ----------------------------------------------------------
- 0 2 unused bytes------------>
-
- Iµ thi≤ werσ thσ 5tΦ entr∙ iε director∙ secto≥ zer∩ i⌠ woulΣ filσ ì
- numbe≥ 5.
-
- Movinτ alonτ iε thσ examplσ eacΦ datß filσ begin≤ witΦá ß ì
- forma⌠ iε whicΦ thσ datß arσ embedded.
-
- The format is as follows:
-
- Byte Description (For Sequential files)
- -----------------------------------------------------------
- 00 Track number +80h. This high order bit must be set
- for every track number. The physical track is
- identified in every sector on that track in this
- manner.
-
- 01 Physical sector number of each sector. Every sector
- is identified this way. Sectors are numbered 0-31.
-
- 02 File number. If =0 then this sector is NOT in use
- at this time. (When a file is deleted you have to
- wait for each sector in the chain to be rewritten so
- that the file number can be set to zero).
-
- 03 Number of data bytes written in this sector
-
- 04 Checksum of all data in the sector except bytes 0,1,4
- and 136. Byte 135 is also not used in the checksum
- calculation. The checksum is the sum of all of the
- data without regard to overlow as done in an eight bit
- register.
-
- 05 Track number of the NEXT data sector in the chain.
-
- 06 Sector number of the next data sector in the chain.
- If track and sector number are both zero there is no
- more file (EOF).
-
- 07-134 128 words of data. If the first byte is ffh then theè file is binary. If the first byte is other than ffh
- then the file is ASCII. The first byte is the
- first byte of the first sector of the file - not the
- first byte of any sector.
-
- 135 Check byte - always ffH. This is used to ensure that
- everything else in the sector was in the right place.
-
- --------------------------------------------------------------
-
- EacΦá oµá thσá byte≤ iε thesσ sector≤ arσ linkeΣá t∩á thσ ì
- othe≥ sector≤ iε ß "forwardó directioε unti∞ byte≤ 5+╢ arσá zero« ì
- Thi≤ signal≤ tha⌠ thσ curren⌠ datß blocδ i≤ thσ las⌠ blocδ iε thσ ì
- file«á Thσá director∙á sector≤ arσ locateΣ iεá tracδá 70«á EacΦ ì
- director∙á secto≥á begin≤ iε thσ 8tΦ bytσ oµ thσ physica∞á secto≥ ì
- (thσ firs⌠ ╖ byte≤ arσ garbage).
-
-
- USE OF THE PROGRAM:
- __________________
-
- Thσ prograφ accept≤ tw∩ type≤ oµ input«á Thσ firs⌠á typσ ì
- oµá inpu⌠ i≤ ß disδ numbe≥ prefixeΣ b∙ aε equal≤ sign«á Thi≤ wil∞ ì
- resul⌠á iεá recover∙ oµ thσ MIT╙ director∙ oε tha⌠ disδá anΣá thσ ì
- listinτ oµ tha⌠ directory« A≤ aε example:
-
- =5
-
- wil∞á resul⌠á iεá selectioε oµ disδ ╡ anΣá thσá recover∙á oµá thσ ì
- directorie≤ oε tha⌠ disδ whicΦ wil∞ bσ listed.
-
- Thσá seconΣ typσ oµ inpu⌠ i≤ ß CP/═ filσ namσ followeΣ b∙ ì
- ß filσ type¼á aε equa∞ sigε anΣ ß MIT╙ filσ namσ anΣ disδ number« ì
- Thi≤ wil∞ searcΦ thσ director∙ oε thσ specifieΣ MIT╙ disk¼ locatσ ì
- thσ filσ anΣ writσ i⌠ oε thσ CP/═ disδ specified« A≤ examples:
-
- (1) CPMFILE.MIT=ZCTABLE,0
- (2) DIET.BAS=DIET,0
- (3) OCTOCT.ASM=&OCTOCT,2
-
- Iεá examplσ (1⌐ thσ filσ 'ZCTABLEº locateΣ oε MIT╙ disδá zer∩á i≤ ì
- copieΣá ont∩á thσá CP/═ disδ a≤ filσ CPMFILE.MIT«á Iεá thσá nex⌠ ì
- example¼á (2)¼á filσá DIE╘á oε disδ zer∩ i≤ copieΣ t∩á CP/═á filσ ì
- DIET.BAS«á Iε thσ las⌠ example¼á MIT╙ filσ &OCTOC╘ oε MIT╙á disδ ì
- tw∩á i≤ copieΣ t∩ CP/═ filσ OCTOCT.ASM«á Thu≤ thσ MIT╙ file≤ arσ ì
- alway≤á oε thσ righ⌠ sidσ oµ thσ equal≤ sigε anΣ thσá CP/═á file≤ ì
- arσá oε thσ lef⌠ hanΣ side«á Notσ tha⌠ aε ambiguou≤ filσ namσ i≤ ì
- no⌠ permitteΣ becausσ thσ CP/═ file≤ arσ opeε fo≥ writing.
-
- Becausσ thσ file≤ arσ accepteΣ iε lis⌠ form¼á thσ prograφ ì
- ma∙ bσ useΣ a≤ ß submi⌠ job«á Problem≤ witΦ thi≤ prograφ ma∙á bσ ì
- submitteΣá iεá writinτ t∩ thσ author«á Thσ prograφ i≤á copyrigh⌠ ì
- 198▒á b∙á thσá author«á Usσá i≤á permitteΣá iεá ßá non-commercia∞ ì
- environment«á Commercia∞á usσ license≤ ma∙ bσ obtaineΣ froφá thσ ì
- autho≥á a⌠á ßá reasonablσ cost«á Conversion≤á caεá bσá performeΣ ìèbetweeεá othe≥ harΣ secto≥ format≤ anΣ cp/φ format«á Contac⌠á u≤ ì
- fo≥ details.
-
- CP/═ I╙ ┴ TRADEMAR╦ O╞ DIGITA╠ RESEARCH¼á PACIFI├ GROV┼ CA« MITS¼ ì
- ALTAIR¼á PC├á MA┘á B┼ REGISTERE─ TRADEMARK╙á O╞á PERTE├á COMPUTE╥ ì
- CORP.¼ CHATSWORT╚ CA.
-