home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol030
/
sigmlog.013
< prev
next >
Wrap
Text File
|
1985-02-09
|
15KB
|
355 lines
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.