Digital Research
This commit is contained in:
2020-11-06 18:50:37 +01:00
parent 621ed8ccaf
commit 31738079c4
8481 changed files with 1888323 additions and 0 deletions

View File

@@ -0,0 +1,439 @@
The following disk types are supported by the registered version of 22DISK:
===========================================================================
Generic CP/M - SSSD 8"
ABC-80 - SSDD 48 tpi 5.25"
A. B. Dick Magna III - DSDD 48 tpi 5.25"
Actrix (Access Matrix) - SSDD 48 tpi 5.25"
Actrix (Access Matrix) - DSDD 48 tpi 5.25"
Adler Textriter - SSDD 48 tpi 5.25"
Advanced Digital Super 6 - SSDD 48 tpi 5.25"
Advanced Digital Super 6 - DSDD 48 tpi 5.25"
Advanced Digital Super 6 - DSDD 96 tpi 5.25"
Advanced Digital Super 8 - DSDD 8"
Advanced Digital TurboDOS 312K - DSDD 48 tpi 5.25"
Advanced Digital TurboDOS 366K - DSDD 48 tpi 5.25"
Advanced Controls - DSDD 96 tpi 5.25"
Allen-Bradley Advisor+ - DSDD 3.5"
Altos - SSSD 8"
Altos - DSSD 8"
Altos - SSDD 8"
Altos - DSDD 8"
Altos Series 5 - DSDD 96 tpi 5.25"
Amada Horizon CNC - DSDD 3.5"
Amigo - SSDD 48 tpi 5.25"
Amigo - DSDD 48 tpi 5.25"
Ampro - SSDD 48 tpi 5.25"
Ampro - DSDD 48 tpi 5.25"
Ampro - SSDD 96 tpi 5.25"
Ampro - DSDD 96 tpi 5.25"
Ampro - SSDD 3.5"
Ampro - DSDD 3.5"
Amstrad PCW 8256 - DSDD 96 tpi 5.25"
Amstrad CPC464 - SSDD 48 tpi 5.25"
Amstrad CPC464 - SSDD 96 tpi 5.25"
Amstrad PCW 8512 - SSDD 48 tpi 5.25"
Amstrad PCW 8512 - DSDD 48 tpi 5.25"
Amstrad PCW 8512 - DSDD 96 tpi 5.25"
Amstrad CPC 6128 - DSDD 48 tpi 5.25"
Amstrad CPC 6128 - DSDD 96 tpi 5.25"
Amstrad CPC 6128 Side 1 - SSDD 3.5"
Amstrad CPC 6128 Side 2 - SSDD 3.5"
Amstrad PCW w/DU49, Moonstone XFORMAT - DSDD 3.5"
Amstrad CPC 6128 Vortex - DSDD 3.5"/96 tpi 5.25"
Amstrad PCW 9256, 9512 Disckit - DSDD 3.5"
Archive I - SSDD 96 tpi 5.25"
Archive II & III - DSDD 96 tpi 5.25"
Arisia - SSDD 48 tpi 5.25"
Associate - DSDD 48 tpi 5.25"
ATR-8000 - SSDD 48 tpi 5.25"
ATR-8000 - DSDD 48 tpi 5.25"
ATT-7700 - DSDD 3.5"
Avatar - DSDD 48 tpi 5.25"
Barudan - DSDD 3.5"
Beehive - DSDD 48 tpi 5.25"
Beehive Microbee - DSDD 48 tpi 5.25"
Beehive Microbee - SSDD 3.5"
Computer Bell - DSDD 48 tpi 5.25"
Big Board (512 bytes/sector) - SSDD 8"
Big Board (512 bytes/sector) - DSDD 8"
Big Board 1024 bytes/sector - SSDD 8"
Bitelex - SSDD 48 tpi 5.25"
BMC IF800 Model 20 - DSDD 48 tpi 5.25"
Bondwell 12 - SSDD 48 tpi 5.25"
Bondwell 14 - DSDD 48 tpi 5.25"
Bondwell 2 - SSDD 3.5"
BOSS TurboDOS - DSDD 8"
BTI Systems - DSDD 48 tpi
Burr-Brown - DSDD 48 tpi 5.25"
Cal-PC - DSDD 48 tpi 5.25"
Cashcom 100 - DSDD 96 tpi 5.25"
Casio FP-1100/FP-1020 - DSDD 48 tpi 5.25"
CCS (256 bytes/sector) - DSDD 48 tpi 5.25"
CCS (512 bytes/sector) - DSDD 48 tpi 5.25"
CCS (1024 bytes/sector) - DSDD 48 tpi 5.25"
CCS 8 - DSDD 8"
CDI-5000 - DSDD 48 tpi 5.25"
COLEX 850 - SSDD 96 tpi 5.25"
COLEX 850 - DSDD 96 tpi 5.25"
CMC Supersystem 2 - DSDD 96 tpi 5.25"
Coin - DSDD 96 tpi 5.25"
Coleco ADAM, 40 track - SSDD 48 tpi 5.25"
Coleco ADAM, 254K - DSDD 48 tpi 5.25"
Coleco ADAM, 320K - DSDD 48 tpi 5.25"
Coleco ADAM, 720K - DSDD 3.5"
Coleco ADAM, 360K - DSDD 48 tpi 5.25"
Coleco ADAM, E&T PROM 720K - DSDD 3.5"
Coleco ADAM, 720K - DSDD 3.5"
Coleco ADAM, 1.44M - DSHD 3.5"
Coleco Adam TDOS - DSDD 5.25"
Columbia Commander 964 - DSDD 48 tpi 5.25"
Columbia 1600 - DSDD 96 tpi 5.25"
Compis - DSDD 96 tpi 5.25"
Compugraphic MCS-5 - SSDD 48 tpi 5.25"
Compustar Model 30 - DSDD 48 tpi 5.25"
Compustar 30, Super IOS - DSDD 48 tpi 5.25"
Compupro (Viasyn) (1024 bytes/sector) - DSDD 96 tpi 5.25"
Compupro (Viasyn) 8/16 - SSDD 8"
Compupro (Viasyn) 8/16 - DSDD 8"
Compupro (Viasyn) - SSDD 8"
Compupro (Viasyn) - SSDD 8"
Commodore 1581 drive - DSDD 3.5"
Cromemco CDOS - SSSD 48 tpi 5.25"
Cromemco CDOS - DSSD 48 tpi 5.25"
Cromemco CDOS - SSDD 48 tpi 5.25"
Cromemco CDOS - DSDD 48 tpi 5.25"
Cromemco CDOS - DSDD 8"
Cromemco CP/M - SSDD 48 tpi 5.25"
Cromemco CP/M - DSDD 48 tpi 5.25"
C/WP Cortex - SSDD 48 tpi 5.25"
Cykey - DSDD 48 tpi 5.25"
Datavue DV80 - DSDD 48 tpi 5.25"
Datavue DV80 - DSDD 96 tpi 5.25"
DEC DECMate II - SSDD 96 tpi 5.25"
DEC Rainbow - SSDD 96 tpi 5.25"
DEC VT-180 - SSDD 48 tpi 5.25"
Dictaphone 6000 CP/M - DSDD 96 tpi 5.25"
Dictaphone 6000 CP/M - DSDD 96 tpi 5.25"
Digilog 2500 - DSDD 48 tpi 5.25"
Digilog 1500 - DSDD 96 tpi 5.25"
Digitech 500 series - SSDD 3.5"
Digitech 500 series - DSDD 3.5"
Direct 1025 - DSDD 48 tpi 5.25"
Direct 1025 - DSDD 96 tpi 5.25"
Discovery - DSDD 96 tpi 5.25"
Domino - DSDD 96 tpi 5.25"
Duet CP/M - DSDD 96tpi 5.25"
Eagle I, II - SSDD 96 tpi 5.25"
Eagle III, IV, V - DSDD 96 tpi 5.25"
Electroglas/Xynetics - DSDD 48 tpi 5.25"
Electroglas/Xynetics - DSDD 3.5"
Epson QX-10 - DSDD 48 tpi 5.25"
Epson QX-10 (256 bytes/sector) - DSDD 48 tpi 5.25"
Epson PX-10/8 - DSDD 3.5"
Epson QX-16 640K - DSDD 3.5"
Epson QX-16 - DSDD 96 tpi 5.25"
Ericsson DTC - SSDD 96 tpi 5.25"
Ericsson DTC - DSDD 96 tpi 5.25"
Ericsson Step One - DSDD 96 tpi 5.25"
Esprit DBS 16 - DSDD 96 tpi 5.25"
Estimation Inc. EST101 - DSDD 96 tpi 5.25"
Everett/Charles Kryterion 165 - DSDD 8"
Eureka A4 - DSDD 3.5"
Exidy Sorcerer - SSDD 48 tpi 5.25"
EXO - SSDD 8"
EXO - DSDD 8"
Facit DTC 6500/6503 - SSDD 96 tpi 5.25"
Facit DTC - DSDD 96 tpi 5.25"
Facit CP/M - SSDD 48 tpi 5.25"
F & G Cable Tester - DSDD 3.5"
Florida Graphics - DSDD 96 tpi 5.25"
Formula 1 - DSDD 48 tpi 5.25"
Fujitsu Micro 16 - DSDD 48 tpi 5.25"
Fujitsu Micro 8 - DSDD 48 tpi 5.25"
Future FX-20 - DSDD 96 tpi 5.25"
Gemini Galaxy - 5.25" DSDD 96 tpi
Globe 101 - 5.25" DSDD 96 tpi
Gnat System 10 - DSDD 48 tpi 5.25"
Graco OM-5000 - DSHD 5.25"
Hagiwara HPU 801 CP/M 68K - DSDD 3.5" Special
Hazeltine - DSDD 96 tpi 5.25"
HCL System 2 - DSDD 96 tpi 5.25"
Heath H89, Magnolia CP/M - SSDD 48 tpi 5.25"
Heath H89, Magnolia CP/M - DSDD 48 tpi 5.25"
Heath H89, Magnolia CP/M - DSDD 96 tpi 5.25"
Heurikon MLZ-91A - DSDD 96 tpi 5.25"
Hewlett-Packard HP 86, 87, 120, 125 - DSDD 48 tpi 5.25"
Hewlett Packard HP 125 - SSSD 8"
Hewlett Packard HP 125 - SSDD 3.5"
Hitachi HPC-6000 CP/M 68K - DSHD 1.2M 3.5"
Hitachi R-1500 CP/M 68K - DSHD 1.2M 5.25"
Strippit Houdaille Fab/V - DSDD 48 tpi 5.25"
IBM PC, CP/M-86 - SSDD 48 tpi 5.25"
IBM PC, CP/M-86 - DSDD 48 tpi 5.25"
IBS Ultraframe Turbo DOS - DSDD 5.25" 96 tpi
ICL DRS 20 - DSDD 5.25" 96 tpi
ICL DRS 300 - DSDD 5.25" 96 tpi
ICL Model 35/36 - DSDD 5.25" 96 tpi
IMS 5000 - SSDD 48 tpi 5.25"
IMS 5000 TurboDOS - DSDD 96 tpi 5.25"
IMS 5000 TurboDOS - SSDD 8"
IMS 5000 CP/M - DSDD 96 tpi 5.25"
Intel iPDS 100 - DSDD 96 tpi 5.25"
Intuit - SSDD 48 tpi 5.25"
Insight Enterprises - DSDD 48 tpi 5.25"
Ithaca Intersystems - SSDD 96 tpi 5.25"
Ithaca Intersystems - SSDD 8"
Ithaca Intersystems - DSDD 8"
ITT 3030 - DSDD 48 tpi 5.25"
ITT 3030 - DSDD 96 tpi 5.25"
JC Information Systems TurboDOS - DSDD 96tpi 5.25"
Jet-80 - DSDD 48 tpi 5.25"
Jet-80 - DSDD 96 tpi 5.25"
Jonos - SSDD 3.5"
Kaypro II/2 - SSDD 48 tpi 5.25"
Kaypro 2X/4/10 - DSDD 48 tpi 5.25"
Kaypro 2X/4/10 (Alternate) - DSDD 48 tpi 5.25"
Kaypro, Pro-8 ROM - DSDD 96 tpi 5.25"
Kaypro Advent TurboROM - DSDD 48 tpi 5.25"
Kaypro Advent TurboROM - SSDD 48 tpi 5.25"
Kaypro Advent TurboROM - DSDD 96 tpi 5.25"
Kontron - DSDD 8"
Kontron/Zeiss - DSDD 96 tpi 5.25"
Kontron Transient Recorder- DSDD 96 tpi 5.25" & 3.5"
Lanier LTD READ-ONLY - DSDD 96 tpi 5.25"
Lexoriter - SSDD 48 tpi 5.25"
Lexoriter - DSDD 48 tpi 5.25"
Lobo Max-80 (256 bytes/sector) - SSDD 48 tpi 5.25"
Lobo Max-80 (256) - DSDD 48 tpi 5.25"
Lobo Max-80 (512 bytes/sector) - DSDD 48 tpi 5.25"
Lobo Max-80 (512 bytes/sector) - DSDD 96 tpi 5.25"
Lobo CP/M 2.2 - SSHD 8"
LNW 2 - SSDD 48 tpi 5.25"
Macsym 150 - SSDD 96 tpi 5.25"
Magic - DSDD 48 tpi 5.25"
MAI Basic Four - DSDD 96 tpi 5.25"
Marconi Midata 510 - DSDD 3.5"
MC CP/M DSDD 96 tpi 5.25"/3.5"
Memotech MaxBP - DSDD 3.5"
Micron Quark - DSDD 48 tpi 5.25"
Micro Source M6000 - DSDD 48 tpi 5.25"
Michels and Kleberhoff CP/M 3 - DSDD 96 tpi 5.25"
Michels and Kleberhoff CP/M 3 - DSDD 48 tpi 5.25"
Mitsubishi PLC - DSDD 3.5"
Micromint SB180 Native 1 - DSDD 48 tpi 5.25"
Micromint SB180 Native 2 - DSDD 96 tpi 5.25"
Micromint SB180 Native 3 - SSDD 48 tpi 5.25"
Micromint SB180 Native 4 - SSDD 96 tpi 5.25"
Micromint SB180 - SSDD 3.5"
Micromint SB180 - DSDD 3.5"
MicroMint SB180 - DSDD 48 tpi 5.25"
Molecular Series 9 - DSDD 48 tpi 5.25"
Molecular/Durango Poppy 54 - DSDD 96 tpi 5.25"
Monroe 8800 Series - SSDD 96 tpi 5.25"
Monroe System 2000 - DSDD 96 tpi 5.25"
Morrow MD2 - SSDD 48 tpi 5.25"
Morrow MD3, 5, 11, 16, 34 - DSDD 48 tpi 5.25"
Morrow 8 (512 bytes/sector) - SSDD 8"
Morrow 8 (1024 bytes/sector) - SSDD 8"
Morrow 8 (1024 bytes/sector) - DSDD 8"
Morrow TurboDOS - DSDD 48 tpi 5.25"
Morrow MD3...CP/M Plus - DSDD 48 tpi 5.25"
MOS 80 - DSDD 8"
MUPD/MDISK, Side I - SSSD 96 tpi 5.25
MUPD/MDISK, Side II - SSSD 96 tpi 5.25
MSD Systems PSC-1 POS - DSDD 5.25" 96 tpi
NCHQ System II - SSSD 48tpi 5.25
NCR Decision Mate V - DSDD 48 tpi 5.25"
NCR FirstStep - DSDD 96 tpi 5.25"
NDR - DSDD 96 tpi 5.25"/3.5"
NEC PC-8801A, 256 bytes/sector - DSDD 8"
NEC PC-8801A, 512 bytes/sector - DSDD 8"
NEC PC-8801A, 1024 bytes/sector - DSDD 8"
NEC PC-8001A - SSDD 48 tpi 5.25"
NEC PC-8001B - DSDD 48 tpi 5.25"
NEC PC-8801A 256 bytes/sector - DSDD 48 tpi 5.25"
NEC PC 8801A 512 bytes/sector - DSDD 48 tpi 5.25"
NEC PC 8801A 1024 bytes/sector - DSDD 48 tpi 5.25"
NEC PC 8500/8431A, Starlet - DSDD 3.5"
NEC Bungo - DSDD 3.5"
NEC APC CP/M-86 - DSHD 8"
New Brain - SSDD 96 tpi 5.25"
Niat - DSDD 96 tpi 5.25"
Nixdorf 8810/30 - DSDD 96 tpi 5.25"
Norsonic 830/836 - DSDD 3.5"
Numeridex 7000 - DSDD 8"
Octagon 8/16 - SSDD 8"
OEM Screen Typist - SSDD 3.5"
OKI IF800 Model 20 - DSDD 48 tpi 5.25"
Olivetti ETV300 - SSDD 48 tpi 5.25"
Olivetti M20 - DSDD 48 tpi 5.25"
Olivetti 250, CWP1 - SSDD 3.5"
Olivetti CWP1 - DSDD 3.5"
Olivetti ETV 1010, CP/M 86 - DSDD 48 tpi 5.25"
Olympia EX-100 - DSDD 48 tpi 5.25"
Olympia ETX II - SSDD 48 tpi 5.25"
Olympia Olytext 20 - DSDD 3.5"
Olympia People - DSDD 96tpi 5.25"
Osborne 1 - SSSD 48 tpi 5.25"
Osborne 1 - SSDD 48 tpi 5.25"
Osborne Executive - SSDD 48 tpi 5.25"
Osborne G2 System - DSDD 48 tpi 5.25"
Osborne G2 System - DSDD 96 tpi 5.25"
Osborne 1 + Osmosis - DSDD 96 tpi 5.25"
Osborne Nuevo - DSDD 48 tpi 5.25"
Osborne Vixen - DSDD 48 tpi 5.25"
Osborne Executive w/Z3 - DSDD 96 tpi 5.25"
Osborne Executive Dig. Arts - DSDD 48 tpi 5.25"
Osborne Nuevo 2.1 - DSDD 96 tpi 5.25"
OSM Zeus 4 - DSDD 96 tpi 5.25"
Otrona Attache - DSDD 48 tpi 5.25"
Otrona Attache - DSDD 96 tpi 5.25"
Panasonic KX-E828 - DSDD 48 tpi 5.25"
Potter & Brumfield - SSSD 48 tpi 5.25"
Perf. Bus. Mach. PBM-1000 - DSDD 96 tpi 5.25"
Pegasus Data Logger - DSDD 48 tpi 5.25"
People's World Computer - SSDD 48 tpi 5.25"
People's World Computer Boot Disk - SSDD 48 tpi 5.25"
Pericom - DSDD 96 tpi 5.25"
Philips PC-2010 - SSDD 48 tpi 5.25"
Philips PC-2012 - DSDD 96 tpi 5.25"
Philips PC-3000 - 3004 - SSDD 96 tpi 5.25"
Physical Acoutstics - DSDD 48 tpi 5.25"
Pied Piper - DSDD 96 tpi 5.25"
PMC Micromate - DSDD 48 tpi 5.25"
Prince Digico - DSDD 96 tpi 5.25"
Proglas 770K - DSDD 96 tpi 5.25"
QDP-500 - DSHD 5.25" 96 tpi
Quay - DSDD 5.25" 48 tpi
Remanco "Back of the House" - DSDD 96 tpi 5.25"
Royal Alphatronic - DSDD 48 tpi 5.25"
Sage IV - DSDD 48 tpi 5.25"
Sage IV - DSDD 96 tpi 5.25"
Sanyo MBC-1000, MBC-1150 - DSDD 48 tpi 5.25"
Sanyo MBC-1250 - DSDD 96 tpi 5.25"
Sanyo MBC-2000 - SSDD 96 tpi 5.25"
Sanyo MBC-3000 - DSDD 8"
Sanco 8001 - DSDD 48 tpi 5.25"
Schneider CPC 6128 Side 1 - DSDD 5.25"
Schneider CPC 6128 Side 2 - DSDD 5.25"
S.D. Systems 40 track - SSDD 3.5"
S.D. Systems 80 track - DSDD 3.5"
Seequa Chameleon - SSDD 48 tpi 5.25"
Seequa Chameleon - DSDD 48 tpi 5.25"
Seiko - DSDD 96 tpi 5.25"
SemiDisk DT42 - DSDD 48 tpi 5.25"
SemiDisk DT42 - DSDD 96 tpi 5.25"
SemiDisk DT42 - DSHD 96 tpi 5.25"
Sharp MZ-80 - DSDD 48 tpi 5.25"
Sharp MZ-80B - DSDD 48 tpi 5.25"
Sharp 3500/5500 - DSDD 48 tpi 5.25"
Sharp 5600 - DSDD 96 tpi 5.25"
Sharp MZ 3541 - DSDD 48 tpi 5.25"
Shelton SIG/NET 2 - SSDD 48 tpi 5.25"
Shelton SIG/NET 2 - DSDD 48 tpi 5.25"
Shelton SIG/NET 2 - DSDD 96 tpi 5.25"
Siemens PG-685 DSDD 96 tpi 5.25"
Siemens PG-675 DSDD 48 tpi 5.25"
Siemens PG-635 - DSDD 3.5"
Siemens PG-3101A - DSDD 5.25" 48 tpi
Smart Aleck - SSDD 5.25" 48 tpi
Sorbus TurboDOS - 5.25" DSHD (or 8" DSDD)
Sony SMC-70 - SSDD 3.5"
Spectravideo 318/328 - SSDD 48 tpi 5.25"
Spectravideo SV-328 - DSDD 48 tpi 5.25"
Sperry UTS 30, UTS 5000 - DSDD 96 tpi 5.25"
Spectravideo - SSDD 48 tpi 5.25"
Spectravideo - DSDD 48 tpi 5.25"
Spectravideo - DSDD 48 tpi 5.25"
Spectravideo - SSDD 3.5"
Superbrain JR - SSDD 48 tpi 5.25"
Superbrain 40 track - SSDD 48 tpi 5.25"
Superbrain QD - DSDD 48 tpi 5.25"
Superbrain II - DSDD 96 tpi 5.25"
Superbrain - SSDD 48 tpi 5.25"
System Group 2800 - DSDD 8"
Systel 2 - SSDD 48 tpi 5.25"
Systel 3 - DSDD 48 tpi 5.25"
Tarbell - DSDD 8"
Tatung TPC2000 - DSDD 96 tpi 5.25"
Techron TEF 10 - DSDD 96 tpi 5.25"
Techron TEF 12 - DSHD 96 tpi 5.25"
Tektronix 4170 - DSDD 48 tpi 5.25"
Teletek - SSDD 8"
Teletek Systemaster - DSDD 48 tpi 5.25"
Teletek Systemaster - DSDD 96 tpi 5.25"
TeleVideo 800-series, TPC-1 CP/M - DSDD 48 tpi 5.25"
TeleVideo 1603 - DSDD 96 tpi 5.25"
TeleVideo 806 TurboDOS - DSDD 48 tpi 5.25"
TeleVideo 800-series, TurboDOS - DSDD 48 tpi 5.25"
Telcom 6.2 CP/M - DSDD 3.5"
TI Professional, CP/M-86 - SSDD 48 tpi 5.25"
TIKI-100, 200K - SSDD 48 tpi 5.25"
TIKI-100, 400K - DSDD 48 tpi 5.25"
Tokyo Electron 80W - 3.5" DSHD
Toshiba T100, T200 - DSDD 48 tpi 5.25"
Toshiba 300 - DSDD 96 tpi 5.25"
Toshiba T-250 - DSHD 8"
TRS-80 Model 1, Omikron CP/M - SSSD 48 tpi 5.25"
TRS-80 Model 1, Bigmem CP/M - SSDD 8"
TRS-80 Model 1, Color Power II - SSDD 48 tpi 5.25"
TRS-80 Lifeboat CP/M (256 bytes/sector) - SSDD 8"
TRS-80, Lifeboat CP/M (1024 bytes/sector) - SSDD 8"
TRS-80, Pickles & Trout CP/M - SSDD 8"
TRS-80, Holmes CP/M - DSDD 48 tpi 5.25"
TRS-80, MM CP/M - SSDD 48 tpi 5.25"
TRS-80 Model 4, 4P; MT CP/M - SSDD 48 tpi 5.25"
TRS-80 Model 4, 4P; MT CP/M - DSDD 48 tpi 5.25"
TRS-80 Model 4, 4P - SSDD 48 tpi 5.25"
TRS-80 Model 3 - Hurricane CP/M - SSDD 48 tpi 5.25"
TRS-80 Model 4P - Montezuma 800K - DSDD 96 tpi 5.25"
TRS-80 II/12/16 Aton CP/M - SSHD 8"
TRS-80 II/12/16 Aton CP/M - DSHD 8"
TRS-80 II/12/16 Pickles & Trout - DSHD 8"
U-Micro 1000 - DSDD 96 tpi 5.25"
Varian Spectra AA/20, DS-15 - 5.25" DSDD
Vector 4 - DSDD 96 tpi 5.25"
Visual 1050 - SSDD 96 tpi 5.25"
Wangwriter - DSDD 48 tpi 5.25"
Wave Mate Bullet - SSDD 48 tpi 5.25"
Wave Mate Bullet - DSDD 96 tpi 5.25"
Wave Mate Bullet - DSDD 48 tpi 5.25"
Wave Mate Bullet - SSHD 8"
Xerox (512 byte/sector) - DSDD 48 tpi 5.25"
Xerox 820 - SSSD 48 tpi 5.25"
Xerox 820 II - SSDD 48 tpi 5.25"
Xerox 820-II, 16/8 - DSDD 48 tpi 5.25"
Xerox 16/8 - SSDD 8"
Xerox 16/8 - DSDD 8"
XEROX 16/8 - DSDD 48 tpi 5.25"
Xerox 820, S/W Publishers DD - SSDD 48 tpi 5.25"
Xerox 3700 Laser Printer - DSDD 48 tpi 5.25"
Xerox 1800 - DSDD 96 tpi 3.5"/5.25"
Xerox 16/8, 820 II - SSDD 48 tpi 5.25"
Xerox 16/8 - SSDD 48 tpi 5.25"
Xerox 16/8 Special - SSDD 48 tpi 5.25"
Xerox 16/8, 820-II - DSDD 48 tpi 5.25"
Xerox 16/8 Special - DSDD 48 tpi 5.25"
Xor 5 - DSDD 48 tpi 5.25"
XYZ - DSDD 48 tpi 5.25"
Zeiss Video Analysis System - DSDD 96 tpi 5.25"
Zenith Z-37 Disk - SSSD 48 tpi 5.25"
Zenith Z-37 Disk - DSDD 96 tpi 5.25"
Zenith Z89, Heath H89 - DSDD 48 tpi 5.25"
Zenith Z89, Heath H89 - DSDD 96 tpi 5.25"
Zenith Z90 - SSDD 48 tpi 5.25"
Zenith Z90 - DSDD 48 tpi 5.25"
Zenith Z-100 - SSDD 48 tpi 5.25"
Zenith Z-100 - DSDD 48 tpi 5.25"
Zenith Z-100 - SSSD 8"
Zenith Z-100 - SSDD 8"
Zenith Z-37 Disk - DSDD 96 (Half drive) 5.25"
Zenith/Heath H-89 Extended Density - DSDD 48 tpi 5.25"
Zenith Z-100, Heath H-47 Extended Density - DSDD 8"
Zenith Z-100, Heath H-47 - DSDD 8"
Zenith Z-37 - SSDD 48 tpi 5.25"
Zenith Z-37 ED - DSDD 96 tpi 5.25"
Zenith/Heath H89/H90 Magnolia 7736 - SSHD 8"
Zorba - DSDD 48 tpi 5.25"
Zorba - DSDD 96 tpi 5.25"


Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,192 @@
;
; ECHO - Resident System Process
; Print Command tail to console
;
;
; DEFININTIONS
;
mpmint equ 224 ;mpm entry interrupt
mpm_conwrite equ 9 ;print string
mpm_qmake equ 134 ;create queue
mpm_qopen equ 135 ;open queue
mpm_qread equ 137 ;read queue
mpm_qwrite equ 139 ;write queue
mpm_setprior equ 145 ;set priority
mpm_condetach equ 147 ;detach console
mpm_setdefcon equ 148 ;set default console
pdlen equ 48 ;length of Process
; Descriptor
p_cns equ byte ptr 020h ;default cns
p_disk equ byte ptr 012h ;default disk
p_user equ byte ptr 013h ;default user
p_list equ byte ptr 024h ;default list
ps_run equ 0 ;PD run status
pf_keep equ 2 ;PD nokill flag
rsp_top equ 0 ;rsp offset
rsp_pd equ 010h ;PD offset
rsp_uda equ 040h ;UDA offset
rsp_bottom equ 140h ;end rsp header
qf_rsp equ 08h ;queue RSP flag
;
; CODE SEGMENT
;
CSEG
org 0
mpm: int mpmint
ret
main: ;create ECHO queue
mov cl,mpm_qmake ! mov dx,offset qd
call mpm
;open ECHO queue
mov cl,mpm_qopen ! mov dx,offset qpb
call mpm
;set priority to normal
mov cl,mpm_setprior ! mov dx,200
call mpm
;ES points to SYSDAT
mov es,sdatseg
loop: ;forever
;read cmdtail from queue
mov cl,mpm_qread ! mov dx,offset qpb
call mpm
;set default values from PD
mov bx,pdadr
; mov dl,es:p_disk[bx] ;p_disk=0-15
; inc dl ! mov disk,dl ;make disk=1-16
; mov dl,es:p_user[bx]
; mov user,dl
; mov dl,es:p_list[bx]
; mov list,dl
mov dl,es:p_cns[bx]
mov console,dl
;set default console
; mov dl,console
mov cl,mpm_setdefcon ! call mpm
;scan cmdtail and look for '$' or 0.
;when found, replace w/ cr,lf,'$'
lea bx,cmdtail ! mov al,'$' ! mov ah,0
mov dx,bx ! add dx,131
nextchar:
cmp bx,dx ! ja endcmd
cmp [bx],al ! je endcmd
cmp [bx],ah ! je endcmd
inc bx ! jmps nextchar
endcmd:
mov byte ptr [bx],13
mov byte ptr 1[bx],10
mov byte ptr 2[bx],'$'
;write command tail
lea dx,cmdtail ! mov cl,mpm_conwrite
call mpm
;detach console
mov dl,console
mov cl,mpm_condetach ! call mpm
;done, get next command
jmps loop
;
; DATA SEGMENT
;
DSEG
org rsp_top
sdatseg dw 0,0,0
dw 0,0,0
dw 0,0
org rsp_pd
pd dw 0,0 ; link,thread
db ps_run ; status
db 190 ; priority
dw pf_keep ; flags
db 'ECHO ' ; name
dw offset uda/10h ; uda seg
db 0,0 ; disk,user
db 0,0 ; load dsk,usr
dw 0 ; mem
dw 0,0 ; dvract,wait
db 0,0
dw 0
db 0 ; console
db 0,0,0
db 0 ; list
db 0,0,0
dw 0,0,0,0
org rsp_uda
uda dw 0,offset dma,0,0 ;0
dw 0,0,0,0
dw 0,0,0,0 ;10h
dw 0,0,0,0
dw 0,0,0,0 ;20h
dw 0,0,0,0
dw 0,0,offset stack_tos,0 ;30h
dw 0,0,0,0
dw 0,0,0,0 ;40h
dw 0,0,0,0
dw 0,0,0,0 ;50h
dw 0,0,0,0
dw 0,0,0,0 ;60h
org rsp_bottom
qbuf rb 131 ;Queue buffer
qd dw 0 ;link
db 0,0 ;net,org
dw qf_rsp ;flags
db 'ECHO ' ;name
dw 131 ;msglen
dw 1 ;nmsgs
dw 0,0 ;dq,nq
dw 0,0 ;msgcnt,msgout
dw offset qbuf ;buffer addr.
dma rb 128
stack dw 0cccch,0cccch,0cccch
dw 0cccch,0cccch,0cccch
dw 0cccch,0cccch,0cccch
dw 0cccch,0cccch,0cccch
dw 0cccch,0cccch,0cccch
stack_tos dw offset main ; start offset
dw 0 ; start seg
dw 0 ; init flags
pdadr rw 1 ; QPB Buffer
cmdtail rb 129 ; starts here
db 13,10,'$'
qpb db 0,0 ;must be zero
dw 0 ;queue ID
dw 1 ;nmsgs
dw offset pdadr ;buffer addr.
db 'ECHO ' ;name to open
console db 0
;disk db 0
;user db 0
;list db 0
end


Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,3 @@
0:8:1:82n:LPR0,0:Interfacer 3 port 7
1:8:1:82n:LPR1,1:Interfacer 3 port 6


View File

@@ -0,0 +1,80 @@
?General
The MAIL facility
Syntax:
Sending mail: MAIL [<sendfile] [NAMELIST namefile]
[ALL] user1 ...
Receiving mail: MAIL [-R] [-A]
Checking mail: MAIL -C
Sending mail:
"sendfile" is the name of the file containing the information you wish
to send. "namefile" is the name of the file containing a list of
users; the file contains each name on a separate line. The ALL keyword
causes the message to be sent to all users on the system.
Receiving mail:
The -R option causes your mail to be typed out in reverse order (the
last message you receive is typed first). The -A option causes all
mail to be typed out without prompting you for options about letter.
When you are reviewing mail, your options are:
N Leave letter in mailbox, read next letter
P Leave letter in mailbox, read previous letter
R Retype current letter
D Delete current letter, read next letter
S fn Save current letter in file fn with postmark
W fn Save current letter in file fn without postmark
F Forward current letter to users listed
H Type this help file
! execute a command
Q Quit from MAIL
X Exit from MAIL, but do not delete marked messages
?syntax
The syntax of the MAIL command is:
Sending mail: MAIL [<sendfile] [NAMELIST namefile]
[ALL] user1 ...
Receiving mail: MAIL [-R] [-A]
Checking mail: MAIL -C
?send
Sending mail:
MAIL [<sendfile] [NAMELIST namefile] [ALL] user1 ...
"sendfile" is the name of the file containing the information you wish
to send. "namefile" is the name of the file containing a list of
users; the file contains each name on a separate line. The ALL keyword
causes the message to be sent to all users on the system.
?receive
Receiving mail:
MAIL [-R] [-A]
The -R option causes your mail to be typed out in reverse order (the
last message you receive is typed first). The -A option causes all
mail to be typed out without prompting you for options about letter.
?subcommands
Subcommands you can use when receiving mail are:
N Leave letter in mailbox, read next letter
P Leave letter in mailbox, read previous letter
R Retype current letter
D Delete current letter, read next letter
S fn Save current letter in file fn with postmark
W fn Save current letter in file fn without postmark
F Forward current letter to users listed
H Type this help file
! execute a command
Q Quit from MAIL
X Exit from MAIL, but do not delete marked messages
 of the file containing the information you wish
to send. "namefile" is the name of the file containing a list

View File

@@ -0,0 +1,7 @@
length 000083
general 10
receive 1811
send 1456
subcommands 2071
syntax 1241
<1A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

Binary file not shown.

View File

@@ -0,0 +1,570 @@
?General
General information on MP/M 8-16
MP/M 8-16 is a proprietary implementation of Digital Research's MP/M-86
operating system from Gifford Computer Systems. This implementation of
MP/M-86 enables systems with CompuPro hardware to run both 8- and 16-bit
programs simultaneously in a multi-user, multi-tasking environment.
?sw
The SW feature of MP/M 8-16
The SW program is the most innovative part of Gifford Computer Systems'
enhancements to MP/M-86. This program enables the system's 8- and 16-bit
file access capability.
When the user gives a command on the MP/M 8-16 command line, the shell
first searches the directories for CP/M-86 (16-bit) files with a .CMD
extension. If a .CMD file is not found, the shell automatically
invokes SW, which searches for a CP/M-80 (8-bit) program with the same
file name, but with a .COM extension.
?SUBMIT
Using SUBMIT with MP/M 8-16
Although the SW program is called automatically by the shell when you ask
for an 8-bit program, the SUBMIT facility does not know how to do this.
Thus, you must explicitly give the A:SW command on lines of a SUBMIT file
that call 8-bit programs. For example, if you want to run an 8-bit program
called F80 on a file called BILLING.FOR, and then erase the file called
BILLING.LST, your SUBMIT file would have the following two lines:
A:SW F80 BILLING.FOR
ERA BILLING.LST
?CLOCK
Setting the time with the CLOCK command
MP/M-86 has a TOD command which allows setting the time, but will not work
under MP/M 8-16. MP/M 8-16 uses the real-time clock on the System Support
board to set the time instead of the time derived from the TOD program.
Instead of using TOD command to set the time, use the CLOCK command. TOD
will still return the correct time.
Unless the NiCad battery back-up is disconnected from your System Support
board, you only have to set the time once. The System Support board may be
removed from the computer and reinstalled later as long as the battery is
always connected to the board. The NiCad battery will last for about two
years.
?MPMINIT
MPMINIT.CMD and MPMINIT.SUB
Before giving the user at the system console control of the system, it
first checks for files called MPMINIT.CMD and MPMINIT.SUB on user 0 of disk
A:. If it finds MPMINIT.CMD, it runs the program. It then looks for
MPMINIT.SUB; if it finds it, it runs SUBMIT with the file. For example, you
can use the MPMINIT files to check the status of the disks, and the amount
of disk space available.
?USERINIT
USERINIT.CMD and USERINIT.SUB
When a user gives a correct login name (and password, if necessary), the
system checks user 0 of drive A: for files called USERINIT.CMD and
USERINIT.SUB. If it finds USERINIT.CMD, it runs the program. It then
looks for USERINIT.SUB; if it finds it, it then runs SUBMIT with the file.
These programs are run for all users.
?Passwords
Passwords on the system
There are two types of passwords on MP/M 8-16. You can protect files and
you can prevent unauthorized users from logging onto the system. The file
protection is documented in the "MP/M-86 Operating System User's Guide" in
the section on files. The login protection is documented in the "MP/M 8-16
Reference Manual" in the section on the PASSWD file.
For more information on the PASSWD file, give the command HELP MPM PASSWD.
?PASSWD
The structure of the PASSWD file is:
NAME:PASSWORD:DRIVE:USER:PRINTER:ACCESS:PROGRAM:COMMENTS
|__| |______| |___| |__| |_____| |____| |_____| |_______
\ \ \ \ \ \ \ \
1 2 3 4 5 6 7 8
1. User login name
2. Optional password field
3. Optional default user drive (default = drive A)
4. Optional default user number (default = user 0)
5. Optional default user printer (default = printer 0)
6. Optional selective terminal access numbers. This is a comma separated
list of the console numbers users will be allowed to use. If no assignment
is made in this field, the user has access to any terminal.
7. Optional default application program, such as SuperCalc. Users with an
entry in this field are automatically entered into the program specified.
The system searches for the program exactly as if the user had typed at the
default prompt. Upon exiting the program, the user is automatically logged
out.
8. Optional comments field
?TTYS
The structure of the TTYS file
DEV #:BAUD RATE:HANDSHAKING:PROTOCOL:TTY NAME:COMMENTS
|___| |_______| |_________| |______| |______| |_______
\ \ \ \ \ \
1 2 3 4 5 6
1. Number of terminal, corresponding to connection on computer back panel.
Numbers begin with 0.
2. Terminal baud rate; the default is 9600. Baud rates are selected from
the following:
0 = 9600 1 = 110 2 = 300 3 = 600 4 = 1200
5 = 1800 6 = 2400 7 = 4800 8 = 9600 9 = 19200
A = automatic baud rate detection for modems
3. Optional RS-232 hardware handshaking. Hardware handshaking is generally
not required for terminals; if not specified, the default is 0. If
handshaking is necessary, enter the number corresponding to the type of
handshaking needed from the following:
0 = No handshaking
1 = Hardware handshaking (DTR) (RS-232 pin 20)
2 = Software handshaking (XON XOFF)
3 = Reserved for custom application
4. Optional communications protocol. This is a three character entry. The
default protocol is 8 data bits, 2 stop bits, and no parity, which are the
settings for most common terminals. If you need to change this, select the
configuration you need from the table below and enter the three characters
without any spaces. For example, if your terminal requires a protocol of 7
data bits, 2 stop bits, even parity, enter 72E in field 4.
Data bits Stop bits Parity
8 2 N (none)
7 1 O (odd)
E (even)
5. Optional terminal name of up to 8 characters with no spaces. The
terminal name is often entered as "console" for the system console, "tty1"
for terminal 1, "tty2" for terminal 2, etc. This field is used to identify
the location on the system of a user in the WHO facility, and will be used
in future MP/M 8-16 utilities. More than one terminal name can be listed,
separated by commas with no spaces.
6. Optional comments field.
?LPRS
The structure of the LPRS file.
DEV #:BAUD RATE:HANDSHAKING:PROTOCOL:LPR NAME:COMMENT
|___| |_______| |_________| |______| |______| |______
\ \ \ \ \ \
1 2 3 4 5 6
1. Number of printer, corresponding to connection on computer back panel.
Printer 0 is the default printer for users.
2. Printer baud rate. The default and options are listed in the help for
TTYS.
3. Optional RS-232 hardware handshaking. The default and options listed in
the help for TTYS.
4. Optional communications protocol. The default and options are listed in
the help for TTYS.
5. Optional printer name. This field is described in the previous
section. The value here is used in the MPM-86 PRINTER command, which
changes the default printer for a user.
6. Optional comment field.
?WTMP
The structure of the WTMP file
A sample entry is:
tty2 david 2 16642132392034 7221982 4
The first two fields are the terminal name and user name. The contents
of the other fields are:
2 1664 21 32 39 203 4 7 22 1982 4
\ \ \ \ \ \ \ \ \
1 2 3 4 5 6 7 8 9
1. Console number.
2. Days since January 1st, 1978.
3. Hour of the day (24 hour clock).
4. Minute of the hour.
5. Second of the minute.
6. Julian day of the year (1-365)
7. Day of the week (Sunday = 0, Monday = 1, Tuesday = 3, etc.)
8. Date in month-day-year.
9. Program file link number; the first entry defines the length of the
file.
?MAIL
The MAIL Utility
The MAIL utility lets you send mail to, and receive mail from, other users.
For more information on MAIL, give the command HELP MAIL or HELP MAIL ALL.
?Reminder
Reminder files
Each time you log on the system, MP/M 8-16 checks user area 15 on disk A:
for a file called name.REM, where "name" is the name being logged in. If
it finds the file, it types it on your screen.
?MOTD
The Message of the Day
Each time a user logs in, the system types out the message of the day. The
message is kept in the file called MOTD on user 0 on drive. This file can
contain anything you wish, including escape sequences to control the user's
screen. Create and update the MOTD file with an editor such as ED or
WordStar.
?FORMAT
Formatting diskettes and disks
Floppy diskettes used with the MP/M 8-16 system must be formatted before
being used to transfer or store information. The FORMAT program included
on your system diskette formats both single and double density diskettes,
and the recommended format is double density diskettes formatted for 1024
byte sectors.
It is extremely unlikely that you will need to format your hard disk once
it is in use. Formatting a disk erases all of the information on it. It
is also unlikely that you will want to run the destructive disk test, since
this also destroys the information on your disk.
?help
The HELP facility
The HELP command gives you more information about the system, or about
programs supplied with the system. You can also make your own help files,
or modify the ones we supply.
To get general information on a subject, simply type HELP and the program
name. The HELP program will access that help file, and the subject of
GENERAL. To get a list of the subjects in a help file, give the command
"HELP filename ALL".
?TOD
The TOD Command in MP/M 8-16
The TOD command prints out the current time of day. Under MP/M 8-16, it
does not set the system clock. This is done with the CLOCK program. For
more information, type HELP MPM CLOCK.
?PRINTER
The PRINTER Command in MP/M 8-16
The PRINTER command takes the names of printers, as well as their number,
as arguments in MP/M 8-16. For more information on printer names, type
HELP MPM LPRS.
?COPY
The COPY command
To make an exact copy of the system diskette, use one of the formatted
diskettes supplied by Gifford Computer Systems, or format a diskette with
the FORMAT program, choosing 1024 byte sectors. You must boot the system
with CP/M 2.2, then give the COPY command.
?SYSGEN
The SYSGEN command
Use the SYSGEN command to copy the system tracks of a boot diskette to
another diskette.
?Shutdown
Shutting down your system
It is important that you follow these procedures each time you turn off
your system or reset it (re-initialize by pressing the reset button),
especially if you are running your system with a hard disk. These steps
ensure that data is written from the hard disk cache. Failure to follow
them may result in loss of valuable data.
1. All users (except system console) log off of the system by giving the
LOGOUT command.
2. After all the other users have logged out, the user at the system
console gives the DOWN command. This turns off all terminals except the
system console.
3. Release the system diskette from the floppy disk drive. Hold in the red
reset button on the front of the Enclosure 2, turn off power to the
computer by pressing the bottom part of the power switch down, and release
the reset button.
?DOWN
The DOWN command
The DOWN command turns off all terminals except the system console. For
more information, type HELP MPM SHUTDOWN.
?MAKE
The MAKE command
The MAKE command creates an empty file on your disk. This is useful if you
need to make a file that does not contain any information, but the
existence of the file is important to other programs. To make a file, give
the MAKE command and the file name at the system prompt. For example, to
create the file TEST.FIL, type MAKE TEST.FIL at the system prompt.
?WHO
The WHO command
The WHO command lists the users on the system, their consoles, and the
time they logged on.
?TIMELOG
The TIMELOG utilities
Gifford Computer Systems provides dBASE II utilities to get login histories
of users and terminals on your MP/M 8-16 system. These utilities read from
the WTMP file, and write out a dBASE II data base.
?SuperCalc
SuperCalc
Your system includes a copy of SuperCalc, which is a financial spread-sheet
program which is used to forecast costs and benefits for businesses. To
run SuperCalc, give the SC command.
If you need help when running SuperCalc, type the question mark (?) key.
?dBASE
dBASE II
Your system includes a copy of dBASE II, which is a complete data base
management system. To run dBASE II, give the DBASE command.
?SYNC
The SYNC command
The SYNC command copies the cache disk buffers to the hard disk. MP/M 8-16
systems with hard disks use cache memory to improve the speed of accessing
the disk. This means, however, that there are times when RAM memory
contains information that has not been written on the hard disk.
The system does an automatic SYNC command every 30 seconds. If you want to
flush the cache memory before then, give the SYNC command.
?languages
Programming languages
Gifford Computer Systems sells the following computer languages:
Assemblers -- SORCIM ACT-80, ACT-86, Trans86. Digital Research SID (8- and
16-bit), MAC, RMAC
BASIC -- Microsoft's BASIC interpreter and compiler (8-bit); Digital
Research's CBASIC (8- and 16-bit) interpreter, and CB80 compiler (8-bit)
C -- Computer Innovations C86 (16-bit); Whitesmith's C (8-bit)
Pascal -- SORCIM's Pascal/M (8- and 16-bit); Digital Research's Pascal MT+
(8- and 16-bit, Speed Programming Package available)
FORTRAN -- Microsoft FORTRAN (8-bit)
PL/1 -- Digital Research PL/1 (8-bit)
?ABORT
The ABORT command
ABORT stops execution of a process. The syntax is:
ABORT process n
where process is the name of the program to be aborted, and n is the
terminal number that the program is running on.
?ASM86
The MP/M-86 Assembler
The ASM86 assembles assembly language statements, and produces an object
file in hexadecimal format. It is documented in the MP/M-86 Operating
System Programmer's Guide.
?ATTACH
The ATTACH command
The ATTACH command attaches a detached program. The syntax is:
ATTACH process
where process is the name of the detached program.
?CONSOLE
The CONSOLE command types the number of the user's console.
?DDT86
The dynamic debugger
The DDT86 program aids the dynamic debugging of MP/M-86 programs. It is
documented in the MP/M-86 Operating System Programmer's Guide.
?DIR
The DIR command
The DIR command displays a list of files that are on a disk. The name
specified to the DIR command can have wildcards. For more information on
wildcards in file names, type HELP MPM WILDCARDS. You can also use the
[SYS] option of DIR to list files with the system attribute.
To list files on a user number other than the one you are connected to, use
the [G] option with the number of the area. For example, to list all of
the files on user 6, give the command "DIR *.*[G6]".
?DSKRESET
The DSKRESET command
Give the DSKRESET command before removing a floppy diskette from a drive.
This prevents you from destroying another person's data if they are also
accessing that diskette. If you do not give an argument to DSKRESET, all
drives are reset. You can specify the individual drives that you want to
reset.
?ED
The ED editor
The ED command allows you to edit files. It is documented in the MP/M-86
Operating System User's Guide. The ED editor is not very sophisticated, and
Gifford Computer Systems recommends the use of other editors, such as
WordStar, instead of ED for most applications.
?ERA
The ERA command
Erase files from your disk with the ERA command. The ERA command accepts
wildcard specifications (for more information on wildcards, give the HELP
MPM WILDCARDS command).
?ERAQ
The ERAQ command
Selectively erase files from your disk with the ERAQ command. This command
is similar to the ERA command, except that it prompts you before each file,
so that you can erase only some of a given group.
?GENCMD
The GENCMD Command
Use GENCMD to create .CMD command files from hex file (such as ones created
with the ASM86 command). The GENCMD command is documented in the MP/M-86
Operating System Programmer's Guide.
?MPMSTAT
The MPMSTAT command
The MPMSTAT command displays information about the internal status of your
MP/M 8-16 system. The information displayed by MPMSTAT take up more than a
full screen, and generally is not useful to the casual user.
?wildcards
Using wildcard characters in file specifications
An asterisk (*) in the filename or filetype is replaced by any number of
characters in the filename that is searched. A question mark (?) in the
filename or filetype is replaced by one character in the filename that is
searched.
For example, the command "DIR BA*.TXT" will list BANNER.TXT and BAD.TXT,
but not BURNER.TXT. The command "DIR BA?.TXT" will list BAD.TXT, but not
BANNER.TXT.
?PIP
The PIP command
The PIP command moves files from a disk to another file, or to an external
device (such as a printer). The format of the command is:
PIP destination=source
You can use wildcard characters in the filename. For an explanation of
wildcard specifications, type HELP MPM WILDCARDS.
The destination is the name of a file to be created, the name of a disk
(the same file name as the source will be used), or LST: (to print out the
file).
There are many options that you can specify to modify the PIP command.
When copying a file from one disk to another, you should always use the V
and O options. If you are copying all of the files from one disk to
another, and want to update files that are on the destination disk, use the
options V, R, O, and W. To copy all of the files from A: to B:, give the
command:
PIP B:=A:*.*[VROW]
The options that are most commonly used are:
A - archive
Gn - "Goto" user n. If this is specified on the destination file, this
writes the file to user n. If it is specified on the source file,
it reads the file from user n.
K - Kill console display during a wildcard file transfer.
O - Object file transfers. This option should always be used.
R - Read files that have the system attribute set.
Tn - Expand TAB characters to n spaces. This is useful when listing programs
on printers.
V - Verify that the data is copied correctly after each record is written.
This option should always be used when transferring files from one disk
to another.
W - Write over files that have the read-only attribute.
?REN
The REN command
Rename files on a disk with the REN command. The format is:
REN newname=oldname
The command will accept wildcards if they appear in the same place in both
the new and old names (e.g., REN MYPROG.*=YOURPROG.*). For more
information on wildcards, type HELP MPM WILDCARDS.
?SDIR
The SDIR command
The SDIR command displays a list of files that are on a disk. The name
specified to the SDIR command can have wildcards. For more information on
wildcards in file names, type HELP MPM WILDCARDS.
The SDIR command is different than the DIR command since it takes many more
options, displays more information about each file, and sorts the file by
filename and file type. The options most commonly used are:
SYS - list all files with the system attribute
DIR - list all files with the directory attribute
RO - list all files with the read-only attribute
RW - list all files with the read-write attribute
USER=n - list the files from user number n
USER=ALL - list the files from all user numbers
USER=(n1,n2,...) - list the files from user number n1, n2,...
DRIVE=d - list the files from drive d
DRIVE=ALL - list the files from all connected drives
DRIVE=(d1,d2,...) - list the files from drives d1, d2,...
EXCLUDE - list all files except those specified in the command
The default is to list all RW, RO, SYS, and DIR files.
You can get help for the SDIR command by giving the command SDIR HELP.
?SET
The SET command
The SET command is used to set the attributes on files and disks. The
name specified to the SET command can have wildcards. For more
information on wildcards in file names, type HELP MPM WILDCARDS.
The options are:
Disks:
SET d: [RO or RW] - set the disk read-only or read-write
SET d: [NAME=name] - give a name to the disk
SET d: [PASSWORD = password, PROTECT=ON, DEFAULT=password] - password
protection
SET d: [MAKE=ON, CREATE=ON, ACCESS=ON, UPDATE=ON] - XFCB creation
Files:
SET filespec [RO or RW, DIR or SYS] - set the file(s) read-only or
read-write, and directory or system
SET filespec [PASSWORD = password, TIME = ON] - set the password and
timestamping
SET filespec [PROTECT = READ or WRITE or DELETE or NONE] - set the protection
You can get help for the SET command by giving the command SET HELP.
?SHOW
The SHOW command
The SHOW command displays information about disks on your MP/M 8-16 system.
If no argument is given, the amount of space left on the drive is displayed.
The options are:
USERS - displays each user and the files on the disk that are allocated to
them.
DRIVES - lists extended information for each drive, such as the number
of directory entries.
LABEL - displays the label, password protection, XFCB status, timestamp
status, and update time of the disk.
You can get help for the SHOW command by giving the command SHOW HELP.
?SPOOL
The SPOOL command
The SPOOL command sends files to the printer. The syntax is:
SPOOL file1, file2, ...
The spooler can be stopped with the STOPSPLR command.
?STAT
The STAT command gives information about disks and files, and sets the
read-only protection on files. In MP/M 8-16, it is superseded by the
SET and SHOW commands.
?STOPSPLR
The STOPSPLR command stops the print spooler. For information on using
the print spooler, type HELP MPM SPOOL.
?TYPE
The TYPE command
The TYPE command types files on your terminal.
?USER
The USER command
The USER command changes your user number.
tions are:
USERS - displays each user and the files on the disk that are allocated to

View File

@@ -0,0 +1,54 @@
length 000683
abort 14052
asm86 14273
attach 14480
clock 1406
console 14649
copy 10353
dbase 12819
ddt86 14718
dir 14885
down 11637
dskreset 15401
ed 15737
era 16032
eraq 16233
format 8830
gencmd 16467
general 10
help 9465
languages 13429
lprs 6519
mail 8077
make 11781
motd 8484
mpminit 2106
mpmstat 16690
passwd 3394
passwords 2922
pip 17395
printer 10146
reminder 8261
ren 19021
sdir 19327
set 20473
show 21362
shutdown 10771
spool 21953
stat 22128
stopsplr 22306
submit 876
supercalc 12534
sw 340
sync 12972
sysgen 10647
timelog 12292
tod 9916
ttys 4440
type 22427
user 22502
userinit 2548
who 12169
wildcards 16940
wtmp 7389
<1A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

Binary file not shown.

View File

@@ -0,0 +1,27 @@
; Sample MPMINIT.SUB file for a floppy-only system
; Copies necessary files to N:, then runs SWAP to make:
; N: --> A:
; A: --> B:
; B: --> C:
;
PIP N:=A:SW.CMD[VROW]
PIP N:=A:PIP.CMD[VROW]
PIP N:=A:ERAQ.CMD[VROW]
PIP N:=A:SET.CMD[VROW]
PIP N:=A:SHOW.CMD[VROW]
PIP N:=A:DIR.CMD[VROW]
PIP N:=A:ABORT.CMD[VROW]
PIP N:=A:PASSWD[VROW]
PIP N:=A:TTYS[VROW]
PIP N:=A:LPRS[VROW]
; Move all of the WordStar, dBASE II, and SuperCalc files
PIP N:=A:WS*.*[VROW]
PIP N:=A:DBAS*.*[VROW]
PIP N:=A:SC.*[VROW]
;
; Remember to copy mail and reminder files
;
PIP N:[G15]=A:*.*[VROWG15]
;
SWAP
T program calls the PAYROLL pr

View File

@@ -0,0 +1,8 @@
chris:xmas
ross:worlds:b
marty:timer:b:1
wordstar:text:b:2:::sw ws:Only runs WordStar
dbaseii::b:3::::sw dbase:Only runs dBASE II
smitty:bill:A:3:1:1,2
sales::B:1:1::sc:Sales Department
nd password again.<2E>/h3 'System Security with Login Passwords'.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,150 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* TIMELOG.CMD *
* This program provides choices for timelog reports. It set up the output *
* files to which each report will be written and also sets up the variables *
* which will be passed to the specific report generator. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
* Written By Michael Burch * Copyright (C) G&G Engineering 1982 *
* For Gifford Computer Systems * Reproduction or modification of this *
* Date: November 17, 1982 * program, in whole or in part, only with *
* Last Revision: 04/12/83 * written permission from G&G Engineering *
* * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
SET TALK OFF
ERASE
USE timelogx
SET INTENSITY OFF
DO WHILE t
ERASE
@ 1,0 SAY 'Here are your options for timelog reports:'
@ 2,5 SAY '1 = Report access by a specific account and specific device'
@ 3,5 SAY '2 = Report access by a specific account, all devices'
@ 4,5 SAY '3 = Report access by a specific device, all accounts'
@ 5,5 SAY '4 = Report access by all accounts & devices, subtotal by device'
@ 6,5 SAY '5 = Report access by all devices & accounts, subtotal by account'
@ 7,5 SAY '6 = Return to the operating system'
STORE ' ' TO which
DO WHILE which = ' '
@ 8,0 SAY 'Input your choice ' GET which PICTURE '9'
READ
IF VAL(which) < 1 .OR. VAL(which) > 6
STORE ' ' TO which
ENDIF
ENDDO
IF which = '6'
QUIT
ENDIF
STORE f TO gomenu
STORE ' ' TO account
STORE ' ' TO device
IF VAL(which) < 4
IF VAL(which) < 3
DO WHILE account = ' ' .AND. (.NOT. gomenu)
@ 10,0 SAY 'Which specific account? ' GET account
READ
@ 10,40
IF account = ' '
STORE t TO gomenu
ELSE
SET INDEX TO namecon
FIND '&account'
IF # = 0
@ 10,40 SAY 'No time recorded for that account.'
STORE ' ' TO account
ENDIF
ENDIF
ENDDO
ENDIF
IF VAL(which) <> 2
DO WHILE device = ' ' .AND. (.NOT. gomenu)
@ 11,0 SAY 'Which specific device? ' GET device PICTURE '99'
READ
@ 11,40
IF device = ' '
STORE t TO gomenu
ELSE
STORE VAL(device) TO x
STORE STR(x,2) TO device
RELEASE x
IF which = '3'
SET INDEX TO conname
FIND '&device'
ELSE
STORE account+device TO x
FIND '&x'
RELEASE x
ENDIF
IF # = 0
@ 11,40 SAY 'No time recorded for that device.'
STORE ' ' TO device
ENDIF
ENDIF
ENDDO
ENDIF
ENDIF
STORE ' ' TO how
DO WHILE how = ' ' .AND. (.NOT. gomenu)
@ 13,5 SAY '1 = List all access times'
@ 14,5 SAY '2 = List totals only'
@ 15,0 SAY 'Your choice ' GET how PICTURE '9'
READ
IF how = ' '
STORE t TO gomenu
ENDIF
IF how <> '1' .AND. how <> '2'
STORE ' ' TO how
ENDIF
ENDDO
STORE ' ' TO output
DO WHILE output = ' ' .AND. (.NOT. gomenu)
@ 17,0 SAY 'Input the name of the file to which this report'
@ 18,0 SAY 'will be written (e.g. timelog1 or fred12) ' GET output
READ
@ 20,0
STORE !(output) TO output
IF output = ' '
STORE t TO gomenu
ELSE
STORE TRIM(output)+'.TXT' TO filechek
IF FILE(filechek)
STORE ' ' TO killit
DO WHILE killit <> 'Y' .AND. killit <> 'N'
@ 20,0 SAY output+' already exists. Overwrite it? (Y/N) ' GET killit PICTURE '!'
READ
ENDDO
IF killit = 'Y'
@ 20,0
DELETE FILE &filechek
ELSE
STORE ' ' TO output
ENDIF
ENDIF
ENDIF
ENDDO
IF .NOT.(gomenu)
SET ALTERNATE TO &OUTPUT
ERASE
DO CASE
CASE which = '1'
SET INDEX TO namecon
DO timelog1
CASE which = '2'
SET INDEX TO namecon
DO timelog2
CASE which = '3'
SET INDEX TO conname
DO timelog3
CASE which = '4'
SET INDEX TO namecon
DO timelog4
CASE which = '5'
SET INDEX TO conname
DO timelog5
ENDCASE
SET ALTERNATE TO
ENDIF
ENDDO


View File

@@ -0,0 +1,6 @@
ZWTMP.CMD
A:SW DBASE TIMELOGX
A:SW DBASE TIMELOGY
ERA WTMPX.DBF
A:SW DBASE TIMELOGZ


View File

@@ -0,0 +1,83 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* TIMELOG1.CMD *
* This command file is called by TIMELOG.CMD and will return to TIMELOG.CMD *
* when it is finished. It prints a time accounting report to a file *
* specified by the user. This report displays access data for one specific *
* account on one specific terminal. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
* Written By Michael Burch * Copyright (C) G&G Engineering 1982 *
* For Gifford Computer Systems * Reproduction or modification of this *
* Date: November 17, 1982 * program, in whole or in part, only with *
* Last Revision: 04/12/83 * written permission from G&G Engineering *
* * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
STORE account+device TO key
FIND '&key'
STORE 'SunMonTueWedThuFriSat' TO weekday
STORE 0 TO kount
STORE 0 TO total:time
STORE name TO account
STORE con TO device
STORE tty TO device1
SET ALTERNATE ON
IF how = '2'
? 'Account Terminal'
? '========= ============'
ELSE
? 'Account Terminal Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
ENDIF
STORE 2 TO line
DO WHILE .NOT. EOF .AND. account = name .AND. device = con
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Account Terminal'
? '========= ============'
ELSE
? 'Account Terminal Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
ENDIF
STORE 2 TO line
ENDIF
IF how = '1'
? name+' '+con+'/'+tty+' '+hour:i+':'+min:i+':'+sec:i
?? $(weekday,VAL(week:i)*3+1,3)+' '+month:i+'/'+day:i+'/'+$(year:i,3,2)
?? ' '+hour:o+':'+min:o+':'+sec:o+' '+$(weekday,VAL(week:o)*3+1,3)
?? month:o+'/'+day:o+'/'+$(year:o,3,2)+' '+time:hr+':'+time:min+':'+time:sec
STORE line+1 TO line
ENDIF
STORE kount+1 TO kount
STORE total:time+total:sec TO total:time
SKIP
ENDDO
STORE STR(total:time/3600,4)+':' TO tot:time
STORE tot:time+STR((total:time-INT(total:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(total:time-INT(total:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
IF how = '1'
?
STORE line+1 TO line
ENDIF
?
? account+' '+device+'/'+device1+' '
?? STR(kount,5)+' Accesses Total elapsed time = '+tot:time
STORE line+2 TO line
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
SET ALTERNATE OFF
RETURN


View File

@@ -0,0 +1,127 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* TIMELOG2.CMD *
* This command file is called by TIMELOG.CMD and prints a time accounting *
* report to a file specified by the user. The report contains access data for *
* one specific account on any terminal. The command file returns control to *
* TIMELOG.CMD *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
* Written By Michael Burch * Copyright (C) G&G Engineering 1982 *
* For Gifford Computer Systems * Reproduction or modification of this *
* Date: November 17, 1982 * program, in whole or in part, only with *
* Last Revision: 04/12/83 * written permission from G&G Engineering *
* * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
FIND '&account'
STORE 'SunMonTueWedThuFriSat' TO weekday
STORE 0 TO dev:kount
STORE 0 TO dev:time
STORE 0 TO all:kount
STORE 0 TO all:time
STORE name TO account
STORE con TO device
STORE tty TO device1
SET ALTERNATE ON
IF how = '2'
? 'Account Device/Name'
? '========= ============'
ELSE
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
ENDIF
STORE 2 TO line
DO WHILE .NOT. EOF .AND. account = name
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Account Device/Name'
? '========= ============'
ELSE
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
ENDIF
STORE 2 TO line
ENDIF
IF how = '1'
? name+' '+con+'/'+tty+' '+hour:i+':'+min:i+':'+sec:i
?? $(weekday,VAL(week:i)*3+1,3)+' '+month:i+'/'+day:i+'/'+$(year:i,3,2)
?? ' '+hour:o+':'+min:o+':'+sec:o+' '+$(weekday,VAL(week:o)*3+1,3)
?? month:o+'/'+day:o+'/'+$(year:o,3,2)+' '+time:hr+':'+time:min+':'+time:sec
STORE line+1 TO line
ENDIF
STORE dev:kount+1 TO dev:kount
STORE dev:time+total:sec TO dev:time
SKIP
IF device <> con .OR. account <> name .OR. EOF
IF how = '1'
?
STORE line+1 TO line
ENDIF
STORE STR(dev:time/3600,4)+':' TO tot:time
STORE tot:time+STR((dev:time-INT(dev:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(dev:time-INT(dev:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? account+' '+device+'/'+device1+' '+STR(dev:kount,5)+' Accesses'
?? ' Total elapsed time = '+tot:time
?
STORE line+2 TO line
STORE con TO device
STORE tty TO device1
STORE dev:kount+all:kount TO all:kount
STORE dev:time+all:time TO all:time
STORE 0 TO dev:kount
STORE 0 TO dev:time
IF account = name .AND. (.NOT. EOF)
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Account Device/Name'
? '========= ============'
ELSE
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
ENDIF
STORE 2 TO line
ELSE
IF how = '1'
?
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
STORE line+3 TO line
ENDIF
ENDIF
ENDIF
ENDIF
ENDDO
STORE STR(all:time/3600,4)+':' TO tot:time
STORE tot:time+STR((all:time-INT(all:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(all:time-INT(all:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? account+' All Devices '+STR(all:kount,5)+' Accesses Total elapsed'
?? 'time = '+tot:time
STORE line+1 TO line
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
SET ALTERNATE OFF
RETURN


View File

@@ -0,0 +1,126 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* TIMELOG3.CMD *
* This command file is called by TIMELOG.CMD and prints a time accounting *
* report to a file specified by the user. This report contains access data *
* for all accounts on one specific terminal. When finished, this command file *
* returns control to TIMELOG.CMD. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
* Written By Michael Burch * Copyright (C) G&G Engineering 1982 *
* For Gifford Computer Systems * Reproduction or modification of this *
* Date: November 17, 1982 * program, in whole or in part, only with *
* Last Revision: 04/12/83 * written permission from G&G Engineering *
* * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
FIND '&device'
STORE 'SunMonTueWedThuFriSat' TO weekday
STORE 0 TO acc:kount
STORE 0 TO acc:time
STORE 0 TO all:kount
STORE 0 TO all:time
STORE name TO account
STORE con TO device
STORE tty TO device1
SET ALTERNATE ON
IF how = '2'
? 'Device/Name Account'
? '============ ========='
ELSE
? 'Device/Name Account Log In Log Out Elapsed'
? '============ ========= ===================== ===================== Time'
ENDIF
STORE 2 TO line
DO WHILE .NOT. EOF .AND. device = con
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Device/Name Account'
? '============ ========='
ELSE
? 'Device/Name Account Log In Log Out Elapsed'
? '============ ========= ===================== ===================== Time'
ENDIF
STORE 2 TO line
ENDIF
IF how = '1'
? con+'/'+tty+' '+name+' '+hour:i+':'+min:i+':'+sec:i
?? $(weekday,VAL(week:i)*3+1,3)+' '+month:i+'/'+day:i+'/'+$(year:i,3,2)
?? ' '+hour:o+':'+min:o+':'+sec:o+' '+$(weekday,VAL(week:o)*3+1,3)
?? month:o+'/'+day:o+'/'+$(year:o,3,2)+' '+time:hr+':'+time:min+':'+time:sec
STORE line+1 TO line
ENDIF
STORE acc:kount+1 TO acc:kount
STORE acc:time+total:sec TO acc:time
SKIP
IF account <> name .OR. device <> con .OR. EOF
IF how = '1'
?
STORE line+1 TO line
ENDIF
STORE STR(acc:time/3600,4)+':' TO tot:time
STORE tot:time+STR((acc:time-INT(acc:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(acc:time-INT(acc:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? device+'/'+device1+' '+account+' '+STR(acc:kount,5)+' Accesses'
?? ' Total elapsed time = '+tot:time
?
STORE line+2 TO line
STORE name TO account
STORE acc:kount+all:kount TO all:kount
STORE acc:time+all:time TO all:time
STORE 0 TO acc:kount
STORE 0 TO acc:time
IF device = con .AND. (.NOT. EOF)
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Device/Name Account'
? '============ ========='
ELSE
? 'Device/Name Account Log In Log Out Elapsed'
? '============ ========= ===================== ===================== Time'
ENDIF
STORE 2 TO line
ELSE
IF how = '1'
?
? 'Device/Name Account Log In Log Out Elapsed'
? '============ ========= ===================== ===================== Time'
STORE line+3 TO line
ENDIF
ENDIF
ENDIF
ENDIF
ENDDO
STORE STR(all:time/3600,4)+':' TO tot:time
STORE tot:time+STR((all:time-INT(all:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(all:time-INT(all:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? device+'/'+device1+' All Accounts '+STR(all:kount,5)+' Accesses '
?? 'Total elapsed time = '+tot:time
STORE line+1 TO line
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
SET ALTERNATE OFF
RETURN


View File

@@ -0,0 +1,192 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* TIMELOG4.CMD *
* This command file is called by TIMELOG.CMD and prints a time accounting *
* report to a file specified by the user. The report contains access data *
* for all accounts on all terminals, grouped by terminal. When finished, this *
* command file returns control to TIMELOG.CMD. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
* Written By Michael Burch * Copyright (C) G&G Engineering 1982 *
* For Gifford Computer Systems * Reproduction or modification of this *
* Date: November 17, 1982 * program, in whole or in part, only with *
* Last Revision: 04/12/83 * written permission from G&G Engineering *
* * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
STORE 'SunMonTueWedThuFriSat' TO weekday
STORE 0 TO dev:kount
STORE 0 TO dev:time
STORE 0 TO acc:kount
STORE 0 TO acc:time
STORE 0 TO all:kount
STORE 0 TO all:time
STORE name TO account
STORE con TO device
STORE tty TO device1
SET ALTERNATE ON
IF how = '2'
? 'Account Device/Name'
? '========= ============'
ELSE
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
ENDIF
STORE 2 TO line
DO WHILE .NOT. EOF
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Account Device/Name'
? '========= ============'
ELSE
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
ENDIF
STORE 2 TO line
ENDIF
IF how = '1'
? name+' '+con+'/'+tty+' '+hour:i+':'+min:i+':'+sec:i
?? $(weekday,VAL(week:i)*3+1,3)+' '+month:i+'/'+day:i+'/'+$(year:i,3,2)
?? ' '+hour:o+':'+min:o+':'+sec:o+' '+$(weekday,VAL(week:o)*3+1,3)
?? month:o+'/'+day:o+'/'+$(year:o,3,2)+' '+time:hr+':'+time:min+':'+time:sec
STORE line+1 TO line
ENDIF
STORE dev:kount+1 TO dev:kount
STORE dev:time+total:sec TO dev:time
SKIP
DO CASE
CASE account <> name .OR. EOF
IF how = '1'
?
STORE line+1 TO line
ENDIF
STORE STR(dev:time/3600,4)+':' TO tot:time
STORE tot:time+STR((dev:time-INT(dev:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(dev:time-INT(dev:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? account+' '+device+'/'+device1+' '+STR(dev:kount,5)+' Accesses'
?? ' Total elapsed time = '+tot:time
?
STORE line+2 TO line
STORE con TO device
STORE tty TO device1
STORE dev:kount+acc:kount TO acc:kount
STORE dev:time+acc:time TO acc:time
STORE 0 TO dev:kount
STORE 0 TO dev:time
STORE STR(acc:time/3600,4)+':' TO tot:time
STORE tot:time+STR((acc:time-INT(acc:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(acc:time-INT(acc:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? account+' '+'All Devices '+STR(acc:kount,5)+' Accesses '
?? 'Total elapsed time = '+tot:time
?
STORE line+2 TO line
STORE name TO account
STORE acc:kount+all:kount TO all:kount
STORE acc:time+all:time TO all:time
STORE 0 TO acc:kount
STORE 0 TO acc:time
IF .NOT. EOF
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Account Device/Name'
? '========= ============'
ELSE
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
ENDIF
STORE 2 TO line
ELSE
IF how = '1'
?
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
STORE line+3 TO line
ENDIF
ENDIF
ENDIF
CASE device <> con
IF how = '1'
?
STORE line+1 TO line
ENDIF
STORE STR(dev:time/3600,4)+':' TO tot:time
STORE tot:time+STR((dev:time-INT(dev:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(dev:time-INT(dev:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? account+' '+device+'/'+device1+' '+STR(dev:kount,5)+' Accesses'
?? ' Total elapsed time = '+tot:time
?
STORE line+2 TO line
STORE con TO device
STORE tty TO device1
STORE dev:kount+acc:kount TO acc:kount
STORE dev:time+acc:time TO acc:time
STORE 0 TO dev:kount
STORE 0 TO dev:time
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Account Device/Name'
? '========= ============'
ELSE
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
ENDIF
STORE 2 TO line
ELSE
IF how = '1'
?
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
STORE line+3 TO line
ENDIF
ENDIF
ENDCASE
ENDDO
STORE STR(all:time/3600,4)+':' TO tot:time
STORE tot:time+STR((all:time-INT(all:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(all:time-INT(all:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? 'All Accounts & Devices '+STR(all:kount,5)+' Accesses Total elapsed'
?? 'time = '+tot:time
STORE line+1 TO line
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
SET ALTERNATE OFF
RETURN


View File

@@ -0,0 +1,191 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* TIMELOG5.CMD *
* This command file is called by TIMELOG.CMD and prints a time accounting *
* report to a file specified by the user. This report contains access data *
* for all accounts on all terminals, grouped by account. When finished, this *
* command file returns control to TIMELOG.CMD *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
* Written By Michael Burch * Copyright (C) G&G Engineering 1982 *
* For Gifford Computer Systems * Reproduction or modification of this *
* Date: November 17, 1982 * program, in whole or in part, only with *
* Last Revision: 04/12/83 * written permission from G&G Engineering *
* * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
STORE 'SunMonTueWedThuFriSat' TO weekday
STORE 0 TO dev:kount
STORE 0 TO dev:time
STORE 0 TO acc:kount
STORE 0 TO acc:time
STORE 0 TO all:kount
STORE 0 TO all:time
STORE name TO account
STORE con TO device
STORE tty TO device1
SET ALTERNATE ON
IF how = '2'
? 'Device/Name Account'
? '============ ========='
ELSE
? 'Device/Name Account Log In Log Out Elapsed'
? '============ ========= ===================== ===================== Time'
ENDIF
STORE 2 TO line
DO WHILE .NOT. EOF
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Device/Name Account'
? '============ ========='
ELSE
? 'Device/Name Account Log In Log Out Elapsed'
? '============ ========= ===================== ===================== Time'
ENDIF
STORE 2 TO line
ENDIF
IF how = '1'
? con+'/'+tty+' '+name+' '+hour:i+':'+min:i+':'+sec:i
?? $(weekday,VAL(week:i)*3+1,3)+' '+month:i+'/'+day:i+'/'+$(year:i,3,2)
?? ' '+hour:o+':'+min:o+':'+sec:o+' '+$(weekday,VAL(week:o)*3+1,3)
?? month:o+'/'+day:o+'/'+$(year:o,3,2)+' '+time:hr+':'+time:min+':'+time:sec
STORE line+1 TO line
ENDIF
STORE acc:kount+1 TO acc:kount
STORE acc:time+total:sec TO acc:time
SKIP
DO CASE
CASE device <> con .OR. EOF
IF how = '1'
?
STORE line+1 TO line
ENDIF
STORE STR(acc:time/3600,4)+':' TO tot:time
STORE tot:time+STR((acc:time-INT(acc:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(acc:time-INT(acc:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? device+'/'+device1+' '+account+' '+STR(acc:kount,5)+' Accesses'
?? ' Total elapsed time = '+tot:time
?
STORE line+2 TO line
STORE name TO account
STORE acc:kount+dev:kount TO dev:kount
STORE acc:time+dev:time TO dev:time
STORE 0 TO acc:kount
STORE 0 TO acc:time
STORE STR(dev:time/3600,4)+':' TO tot:time
STORE tot:time+STR((dev:time-INT(dev:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(dev:time-INT(dev:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? device+'/'+device1+' All Accounts '+STR(dev:kount,5)+' Accesses'
?? ' Total elapsed time = '+tot:time
?
STORE line+2 TO line
STORE con TO device
STORE tty TO device1
STORE dev:kount+all:kount TO all:kount
STORE dev:time+all:time TO all:time
STORE 0 TO dev:kount
STORE 0 TO dev:time
IF .NOT. EOF
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Device/Name Account'
? '============ ========='
ELSE
? 'Device/Name Account Log In Log Out Elapsed'
? '============ ========= ===================== ===================== Time'
ENDIF
STORE 2 TO line
ELSE
IF how = '1'
?
? 'Device/Name Account Log In Log Out Elapsed'
? '============ ========= ===================== ===================== Time'
STORE line+3 TO line
ENDIF
ENDIF
ENDIF
CASE account <> name
IF how = '1'
?
STORE line+1 TO line
ENDIF
STORE STR(acc:time/3600,4)+':' TO tot:time
STORE tot:time+STR((acc:time-INT(acc:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(acc:time-INT(acc:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? device+'/'+device1+' '+account+' '+STR(acc:kount,5)+' Accesses'
?? ' Total elapsed time = '+tot:time
?
STORE line+2 TO line
STORE name TO account
STORE acc:kount+dev:kount TO dev:kount
STORE acc:time+dev:time TO dev:time
STORE 0 TO acc:kount
STORE 0 TO acc:time
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
IF how = '2'
? 'Device/Name Account'
? '============ ========='
ELSE
? 'Device/Name Account Log In Log Out Elapsed'
? '============ ========= ===================== ===================== Time'
ENDIF
STORE 2 TO line
ELSE
IF how = '1'
?
? 'Device/Name Account Log In Log Out Elapsed'
? '============ ========= ===================== ===================== Time'
STORE line+3 TO line
ENDIF
ENDIF
ENDCASE
ENDDO
STORE STR(all:time/3600,4)+':' TO tot:time
STORE tot:time+STR((all:time-INT(all:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(all:time-INT(all:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
? 'All Devices & Accounts '+STR(all:kount,5)+' Accesses Total elapsed'
?? 'time = '+tot:time
STORE line+1 TO line
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
SET ALTERNATE OFF
RETURN


View File

@@ -0,0 +1,20 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* TIMELOGX.CMD *
* This program is called by TIMELOG.SUB. It reads the system WTMP file into *
* the WTMP.DBF data base for processing in TIMELOGY.CMD which is the next *
* command file to be called by the submit file. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
* Written By Michael Burch * Copyright (C) G&G Engineering 1982 *
* For Gifford Computer Systems * Reproduction or modification of this *
* Date: November 17, 1982 * program, in whole or in part, only with *
* Last Revision: 04/12/83 * written permission from G&G Engineering *
* * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
SET TALK OFF
USE wtmp
APPEND FROM wtmp. SDF
QUIT


View File

@@ -0,0 +1,208 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* TIMELOGY.CMD *
* This command file follows TIMELOGX.CMD as they are called by the submit *
* file TIMELOG.SUB. It uses the info in WTMP.DBF to create TIMELOGX.DBF, *
* which contains all the data needed to print time accounting reports later. *
* User login times are matched to their corresponding logout times and the *
* elapsed time is calculated. This info may be added to previously logged *
* data or it may replace the previous info. This command file expects to *
* return control to the submit file and call TIMELOGZ.CMD subsequently. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
* Written By Michael Burch * Copyright (C) G&G Engineering 1982 *
* For Gifford Computer Systems * Reproduction or modification of this *
* Date: November 17, 1982 * program, in whole or in part, only with *
* Last Revision: 04/12/83 * written permission from G&G Engineering *
* * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
SET TALK OFF
STORE ' ' TO choice
DO WHILE choice <> '1' .AND. choice <> '2'
ERASE
STORE ' ' TO choice
@ 5,5 SAY 'Would you like to:'
@ 7,5 SAY '1 = Add current log to previous log'
@ 8,9 SAY 'or'
@ 9,5 SAY '2 = Purge the previous log and keep only the current log'
@ 11,5 SAY 'Please choose 1 or 2 (Default is 1) ' GET choice PICTURE '9'
READ
IF choice = ' '
STORE '1' TO choice
ENDIF
ENDDO
@ 13,0 SAY 'Preparing login/logout data.'
@ 14,0 SAY 'Please stand by.'
SELECT PRIMARY
USE wtmp
STORE length TO len:wtmp
DELETE ALL FOR length > len:wtmp
PACK
COPY STRUCTURE TO wtmpx
SELECT SECONDARY
STORE 'timelogx' TO filename
IF choice = '2' .OR. (.NOT. FILE(filename))
USE timelog
COPY STRUCTURE TO timelogx
ENDIF
USE timelogx
INDEX ON mpm:day:o+tty+con TO timelogx
SET INDEX TO timelogx
SELECT PRIMARY
LOCATE FOR name <> ' '
STORE 0 TO openusers
DO WHILE .NOT. EOF
DO CASE
CASE name = 'Boot' .AND. openusers > 0
*
* This is the routine to replace all open accounts with the last recorded
* up time.
*
SKIP - 1
SELECT SECONDARY
STORE t TO found
DO WHILE found
FIND ' '
IF # = 0
STORE f TO found
ELSE
STORE t TO found
REPLACE mpm:day:o WITH mpm:day, hour:o WITH hour, min:o WITH min
REPLACE sec:o WITH sec, jday:o WITH jday, week:o WITH week
REPLACE month:o WITH month, day:o WITH day, year:o WITH year
STORE VAL(mpm:day:i) TO day:in
STORE VAL(mpm:day:o) TO day:out
STORE VAL(hour:i) TO hour:in
STORE VAL(hour:o) TO hour:out
STORE VAL(min:i) TO min:in
STORE VAL(min:o) TO min:out
STORE (((hour:in*60)+min:in)*60)+VAL(sec:i) TO sec:in
STORE (((hour:out*60)+min:out)*60)+VAL(sec:o) TO sec:out
IF sec:in > sec:out
STORE day:out-1 TO day:out
STORE sec:out+86400 TO sec:out
ENDIF
REPLACE total:sec WITH sec:out-sec:in+(day:out-day:in)*86400
REPLACE time:hr WITH STR(total:sec/3600,4)
REPLACE time:min WITH STR((total:sec-(VAL(time:hr)*3600))/60,2)
REPLACE time:sec WITH STR(total:sec-VAL(time:hr)*3600-VAL(time:min)*60,2)
STORE openusers-1 TO openusers
ENDIF
ENDDO
SELECT PRIMARY
CASE name = ' '
*
* This is the routine to match a user's logout time with his
* corresponding login time
*
SELECT SECONDARY
FIND ' '+p.tty+p.con
IF # <> 0
REPLACE mpm:day:o WITH mpm:day, hour:o WITH hour, min:o WITH min
REPLACE sec:o WITH sec, jday:o WITH jday, week:o WITH week
REPLACE month:o WITH month, day:o WITH day, year:o WITH year
STORE VAL(mpm:day:i) TO day:in
STORE VAL(mpm:day:o) TO day:out
STORE VAL(hour:i) TO hour:in
STORE VAL(hour:o) TO hour:out
STORE VAL(min:i) TO min:in
STORE VAL(min:o) TO min:out
STORE (((hour:in*60)+min:in)*60)+VAL(sec:i) TO sec:in
STORE (((hour:out*60)+min:out)*60)+VAL(sec:o) TO sec:out
IF sec:in > sec:out
STORE day:out-1 TO day:out
STORE sec:out+86400 TO sec:out
ENDIF
REPLACE total:sec WITH sec:out-sec:in+(day:out-day:in)*86400
REPLACE time:hr WITH STR(total:sec/3600,4)
REPLACE time:min WITH STR((total:sec-VAL(time:hr)*3600)/60,2)
REPLACE time:sec WITH STR(total:sec-VAL(time:hr)*3600-VAL(time:min)*60,2)
STORE openusers-1 TO openusers
ENDIF
SELECT PRIMARY
OTHERWISE
*
* This is the routine to add a user's login time
*
SELECT SECONDARY
APPEND BLANK
REPLACE s.tty WITH p.tty, s.name WITH p.name, s.con WITH p.con
REPLACE mpm:day:i WITH mpm:day,hour:i WITH hour, min:i WITH min
REPLACE sec:i WITH sec, jday:i WITH jday, week:i WITH week
REPLACE month:i WITH month, day:i WITH day, year:i WITH year
STORE openusers+1 TO openusers
SELECT PRIMARY
ENDCASE
SKIP
ENDDO
SELECT SECONDARY
SET INDEX TO
DELETE FILE timelogx.ndx
REPLACE ALL hour:i WITH '0'+$(hour:i,2,1) FOR $(hour:i,1,1) = ' '
REPLACE ALL min:i WITH '0'+$(min:i,2,1) FOR $(min:i,1,1) = ' '
REPLACE ALL sec:i WITH '0'+$(sec:i,2,1) FOR $(sec:i,1,1) = ' '
REPLACE ALL month:i WITH '0'+$(month:i,2,1) FOR $(month:i,1,1) = ' '
REPLACE ALL day:i WITH '0'+$(day:i,2,1) FOR $(day:i,1,1) = ' '
REPLACE ALL hour:o WITH '0'+$(hour:o,2,1) FOR $(hour:o,1,1) = ' '
REPLACE ALL min:o WITH '0'+$(min:o,2,1) FOR $(min:o,1,1) = ' '
REPLACE ALL sec:o WITH '0'+$(sec:o,2,1) FOR $(sec:o,1,1) = ' '
REPLACE ALL month:o WITH '0'+$(month:o,2,1) FOR $(month:o,1,1) = ' '
REPLACE ALL day:o WITH '0'+$(day:o,2,1) FOR $(day:o,1,1) = ' '
REPLACE ALL time:min WITH '0'+$(time:min,2,1) FOR $(time:min,1,1) = ' '
REPLACE ALL time:sec WITH '0'+$(time:sec,2,1) FOR $(time:sec,1,1) = ' '
STORE 1 TO num
IF openusers > 0
SELECT SECONDARY
GOTO TOP
COPY TO timelog FOR mpm:day:o = ' '
DELETE ALL FOR mpm:day:o = ' '
PACK
USE wtmpx
SELECT PRIMARY
USE timelog
DO WHILE .NOT. EOF
SELECT SECONDARY
APPEND BLANK
REPLACE s.tty WITH p.tty, s.name WITH p.name, s.con WITH p.con
REPLACE mpm:day WITH mpm:day:i, hour WITH hour:i, min WITH min:i
REPLACE sec WITH sec:i, jday WITH jday:i, week WITH week:i
REPLACE month WITH month:i, day WITH day:i, year WITH year:i
REPLACE length WITH STR(num,5)
SELECT PRIMARY
STORE num+1 TO num
SKIP
ENDDO
STORE num-1 TO num
ENDIF
SELECT SECONDARY
USE
SELECT PRIMARY
USE timelogx
COPY STRUCTURE TO timelog
INDEX ON name+con TO namecon
INDEX ON con+name TO conname
USE wtmpx
IF openusers = 0
APPEND BLANK
ENDIF
COPY STRUCTURE TO wtmp
USE wtmp
APPEND FROM wtmp. SDF
GOTO TOP
STORE length TO end
USE wtmpx
APPEND FROM wtmp. SDF FOR length > len:wtmp .AND. length <= end
COPY STRUCTURE TO wtmp
GOTO num
DO WHILE .NOT. EOF
REPLACE length WITH STR(num,5)
STORE num+1 TO num
SKIP
ENDDO
STORE num-1 TO num
GOTO TOP
REPLACE length WITH STR(num,5)
COPY TO wtmp. SDF
QUIT


View File

@@ -0,0 +1,142 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* TIMELOGZ.CMD *
* This command file will, upon the user's request, print all the login and *
* logout times for all the users. This is for the the user's convenience. If *
* the user would rather not have2 this list, he/she can simply skip it. This *
* command file is called by TIMELOG.SUB and should turn control over to *
* TIMELOG.CMD for a report menu. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * *
* Written By Michael Burch * Copyright (C) G&G Engineering 1982 *
* For Gifford Computer Systems * Reproduction or modification of this *
* Date: November 17, 1982 * program, in whole or in part, only with *
* Last Revision: 04/12/83 * written permission from G&G Engineering *
* * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
SET TALK OFF
ERASE
STORE 1 TO scr:line
SET INTENSITY OFF
@ scr:line,1 SAY 'You now have the option of printing a report of the raw TIMELOG data'
STORE scr:line+1 TO scr:line
@ scr:line,1 SAY 'to a file. This file may then be printed or edited at your convenience.'
STORE scr:line+1 TO scr:line
@ scr:line,1 SAY 'This step is not mandatory. You may skip this step by inputting "N" or'
STORE scr:line+1 TO scr:line
@ scr:line,1 SAY 'you may continue by inputting "Y" '
STORE scr:line+2 TO scr:line
STORE ' ' TO go
DO WHILE go <> 'Y' .AND. go <> 'N'
@ scr:line,1 SAY 'Input Y or N here ' GET go PICTURE '!'
READ
ENDDO
STORE scr:line+3 TO scr:line
IF go = 'N'
DO timelog
ENDIF
USE timelogx
STORE 'SunMonTueWedThuFriSat' TO weekday
STORE total:sec TO max
STORE total:sec TO min
STORE time:hr+':'+time:min+':'+time:sec TO max:time
STORE time:hr+':'+time:min+':'+time:sec TO min:time
STORE 0 TO kount
STORE 0 TO total:time
STORE ' ' TO output
DO WHILE output = ' '
@ scr:line,1 SAY 'Input the name of the file to which this report will be written ' GET output PICTURE '!!!!!!!!'
READ
STORE scr:line+1 TO scr:line
IF output <> ' ' .OR. @('.',output)=0
STORE TRIM(output)+'.TXT' TO filechek
IF FILE(filechek)
STORE ' ' TO killit
DO WHILE killit <> 'Y' .AND. killit <> 'N'
@ scr:line,1 SAY output+' already exists. Overwrite it? (Y/N) ' GET killit PICTURE '!'
READ
ENDDO
STORE scr:line+2 TO scr:line
IF killit = 'Y'
DELETE FILE &filechek
ELSE
STORE scr:line-3 TO scr:line
STORE ' ' TO output
ENDIF
ENDIF
ELSE
STORE scr:line-1 TO scr:line
STORE ' ' TO output
ENDIF
ENDDO
SET ALTERNATE TO &OUTPUT
@ scr:line,1 SAY 'Raw TIMELOG data is now being written to '+filechek
SET INTENSITY ON
SET CONSOLE OFF
SET ALTERNATE ON
?
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
?
STORE 3 TO line
DO WHILE .NOT. EOF
IF line > 56
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
? 'Account Device/Name Log In Log Out Elapsed'
? '========= ============ ===================== ===================== Time'
?
STORE 3 TO line
ENDIF
? name+' '+con+'/'+tty+' '+hour:i+':'+min:i+':'+sec:i+' '+$(weekday,VAL(week:i)*3+1,3)
?? month:i+'/'+day:i+'/'+$(year:i,3,2)+' '+hour:o+':'+min:o+':'+sec:o
?? $(weekday,VAL(week:o)*3+1,3)+' '+month:o+'/'+day:o+'/'+$(year:o,3,2)
?? time:hr+':'+time:min+':'+time:sec
STORE line+1 TO line
STORE kount+1 TO kount
STORE total:time+total:sec TO total:time
IF total:sec < min
STORE total:sec TO min
STORE time:hr+':'+time:min+':'+time:sec TO min:time
ENDIF
IF total:sec > max
STORE total:sec TO max
STORE time:hr+':'+time:min+':'+time:sec TO max:time
ENDIF
SKIP
ENDDO
STORE STR(total:time/3600,4)+':' TO tot:time
STORE tot:time+STR((total:time-INT(total:time/3600)*3600)/60,2)+':' TO tot:time
IF $(tot:time,6,1) = ' '
STORE $(tot:time,1,5)+'0'+$(tot:time,7,2) TO tot:time
ENDIF
STORE tot:time+STR(total:time-INT(total:time/60)*60,2) TO tot:time
IF $(tot:time,9,1) = ' '
STORE $(tot:time,1,8)+'0'+$(tot:time,10,2) TO tot:time
ENDIF
STORE total:time/kount TO total:time
STORE STR(total:time/3600,4)+':' TO avg:time
STORE avg:time+STR((total:time-INT(total:time/3600)*3600)/60,2)+':' TO avg:time
IF $(avg:time,6,1) = ' '
STORE $(avg:time,1,5)+'0'+$(avg:time,7,2) TO avg:time
ENDIF
STORE avg:time+STR(total:time-INT(total:time/60)*60,2) TO avg:time
IF $(avg:time,9,1) = ' '
STORE $(avg:time,1,8)+'0'+$(avg:time,10,2) TO avg:time
ENDIF
?
? 'Number of "log in"s = '+STR(kount,5)+' '+'Shortest elapsed time = '+ min:time
? 'Total elapsed time = '+tot:time+' '+'Longest elapsed time = '+max:time
? ' Average elapsed time = '+avg:time
STORE line+4 TO line
DO WHILE line < 66
?
STORE line+1 TO line
ENDDO
SET ALTERNATE OFF
SET CONSOLE ON
DO timelog


View File

@@ -0,0 +1,567 @@
;*****************************************************
;*
;* Terminal Message Processor
;*
;* The TMP determines the user interface to MPM.
;* Much of the interface is available though
;* system calls. This TMP takes advantage of
;* as much as possible for simplicity. The TMP
;* could, for instance, be easily modified to
;* force logins and have non-standard defaults.
;*
;* With a little more work, The TMP could do all
;* command parsing and File Loading instead of
;* using the CLI COMMAND FUNCTION. This is also
;* the place to AUTOLOAD programs for specific
;* users. Suggestions are given in the MP/M-86
;* SYSTEM'S GUIDE.
;*
;*****************************************************
true equ 0ffh
false equ 0
unknown equ 0
mpmint equ 224 ; int vec for mpm
; mpm86 equ false ; CCP/M if false
mpm86 equ true ; MP/M if true
cr equ 13
lf equ 10
mpm_conout equ 2
mpm_conwrite equ 9
mpm_conread equ 10
mpm_diskselect equ 14
mpm_openfile equ 15
mpm_closefile equ 16
mpm_readfile equ 20
mpm_getdefdisk equ 25
mpm_setdma equ 26
mpm_usercode equ 32
mpm_freedrive equ 39
mpm_conattach equ 146
mpm_condetach equ 147
mpm_setdefcon equ 148
mpm_clicmd equ 150
mpm_parse equ 152
mpm_setdeflst equ 160
mpm_getdeflst equ 164
ps_run equ 00 ; on ready list root
pf_sys equ 001h ; system process
pf_keep equ 002h ; do not terminate
s_mpmseg equ word ptr 40H ;begin MPM segment
s_sysdisk equ byte ptr 04bh ;system disk
s_ncns equ byte ptr 47H ;sys. consoles
s_version equ word ptr 78h ;ofst ver. str in SUP
rsp_top equ 0
rsp_md equ 008h
rsp_pd equ 010h
rsp_uda equ 040h
rsp_bottom equ 140h
e_no_memory equ 3 ; cant find memory
e_no_pd equ 12 ; no free pd's
e_q_full equ 15 ; full queue
e_illdisk equ 23 ; illegal disk #
e_badfname equ 24 ; illegal filename
e_badftype equ 25 ; illegal filetype
e_bad_load equ 28 ; bad ret. from BDOS load
e_bad_read equ 29 ; bad ret. from BDOS read
e_bad_open equ 30 ; bad ret. from BDOS open
e_nullcmd equ 31 ; null command sent
e_ill_lst equ 37 ; illegal list device
e_ill_passwd equ 38 ; illegal password
e_abort equ 40 ; aborted in CLI
;*****************************************************
;*
;* TMP Shared Code and Constant Area
;*
;*****************************************************
cseg
org 0
;===
mpm: ; INTERFACE ROUTINE FOR SYSTEM ENTRY POINTS
;===
int mpmint ! ret
;===
tmp: ; PROGRAM MAIN - INITIALIZATION
;===
; set default console # = TMP#
mov dl,defconsole ! call setconsole
; set default disk = system drive if MP/M, A: if CCP/M
if mpm86
push ds ! mov ds,sysdatseg
mov dl,.s_sysdisk ! pop ds
endif
if not mpm86
xor dl,dl
endif
call setdisk
if mpm86
mov dl,defconsole ;set default user # = console
endif
if not mpm86
xor dl,dl ;all TMPs come up user 0
endif ;in CCP/M
call setuser
call attach ;print version
push ds ! mov ds,sysdatseg
mov dx,.s_version
mov ds,.s_mpmseg
call print_ds_string ! pop ds
call detach
mov al,defconsole ;look for startup file
add tmpnum,al ;works for 1st 10 TMPS
mov dx,offset fcb
mov cl,mpm_openfile
call mpm
cmp al,0ffh
je nostartup
mov dx,offset clicb_cmd
mov cl,mpm_setdma
call mpm
mov dx,offset fcb
mov cl,mpm_readfile
call mpm
push ax
mov dx,offset fcb
mov cl,mpm_closefile
call mpm
pop ax
test al,al
jnz nostartup
mov ax,ds
mov es,ax
mov al,cr
mov cx, 128
mov di,offset clicb_cmd
repne scasb
inc di ;include cr lf in line
mov byte ptr [di],'$'
sub di,offset clicb_cmd
mov ax,di
sub ax, 2
mov read_blen, al
mov dx,offset supmsg
call printstring
mov dx,offset clicb_cmd
call print_ds_string
jmps startup
nostartup:
; THIS IS WHERE A LOGIN ROUTINE MIGHT
; BE IMPLEMENTED. THE DATA FILE THAT
; CONTAINS THE USER NAME AND PASSWORD
; MIGHT ALSO CONTAIN AN INITIAL DEFAULT
; DISK AND USER NUMBER FOR THAT USER.
;===========
nextcommand: ; LOOP FOREVER
;===========
; free drive
mov dx,0ffffh ! call freedrive
; attach console
call attach
; print CR,LF if we just sent command
cmp cmdsent,false ! je noclearline
mov cmdsent,false
call crlf
noclearline:
; set up and print user prompt
; get current default user # and disk
; this call should be made on every
; loop in case the last command
; has changed the default.
mov dl,cr ! call prchar
call getuser
mov dl,bl ! call prnum
call getdisk
mov dl,'A' ! add dl,bl
call prchar
mov dx,offset prompt
call print_string
; Read Command from Console
mov dx,offset read_buf ! call conread
startup:
; echo newline
mov dl,lf ! call prchar
; make sure not a null command
lea bx,clicb_cmd
cmp read_blen,0 ! je gonextcmd
cmp byte ptr [bx],';' ! je gonextcmd
; see if disk change
; if 'X:' change def disk to X
cmp read_blen,2 ! jne clicall
cmp byte ptr 1[bx],':'
jne clicall
; change default disk
mov dl,[bx] ;get disk name
and dl,5fh ;Upper Case
sub dl,'A' ;disk number
; check bounds
cmp dl,0 ! jb gonextcmd
cmp dl,15 ! ja gonextcmd
; select default disk
call setdisk
gonextcmd: jmp nextcommand
;=======
clicall: ; SEND CLI COMMAND
;=======
; put null at end of input
mov bx,offset clicb_cmd
mov al,read_blen ! mov ah,0
add bx,ax ! mov byte ptr [bx],0
; copy command string for error
; reporting later and to check
; for built in commands...
mov cx,64
mov si,offset clicb_cmd
mov di,offset savebuf
push ds ! pop es
rep movsw
; parse front to see if
; built in command
mov si,offset fcb
mov di,offset savebuf
call parsefilename
jcxz goodparse
sub bx,bx ! mov bl,read_blen
add bx,offset savebuf
mov byte ptr [bx],'$'
jmp clierror
goodparse: mov parseret,bx
cmp bx,0 ! jne haveatail
mov bl,read_blen
add bx,offset savebuf
haveatail: mov byte ptr [bx],'$' ! inc bx
cmp fcb,0 ! je try_builtin
jmp not_builtin
; is it USER command?
try_builtin: mov si,offset fcb ! inc si
mov di,offset usercmd
push cs ! pop es
mov cx,4 ! repz cmpsw
jnz notuser
mov si,offset fcb
mov di,parseret
cmp di,0 ! je pruser
inc di
call parsefilename
cmp cx,0 ! jne pruser
mov si,offset fcb
inc si
mov dx,[si]
call a_to_b
cmp bl,15 ! ja usererr
mov dl,bl
call setuser
jmp pruser
usererr: mov dx,offset usererrmsg
call printstring
pruser: mov dx,offset usermsg
call printstring
call getuser
mov dl,bl ! call prnum
call crlf
jmp nextcommand
notuser:
mov si,offset fcb ! inc si
mov di,offset printercmd
push cs ! pop es
mov cx,4 ! repz cmpsw
jnz notprinter
mov si,offset fcb
mov di,parseret
cmp di,0 ! je prprinter
inc di
call parsefilename
cmp cx,0 ! jne prprinter
mov si,offset fcb
inc si
mov dx,[si]
call a_to_b
cmp bl,0ffh
je printererr
mov dl,bl
call setlist
jcxz prprinter
printererr: mov dx,offset printemsg
call printstring
prprinter: mov dx,offset printermsg
call printstring
call getlist
mov dl,bl ! call prnum
call crlf
jmp nextcommand
notprinter:
not_builtin:
; initialize Cli Control Block
mov clicb_net,0
; make cli call
mov cmdsent,true
lea dx,clicb ! mov cl,mpm_clicmd
call mpm
cmp bx,0 ! jne clierror
jmp nextcommand
;========
clierror:
;========
; Cli call unsuccesful, analyze and display err msg
; input: CX = ERROR CODE
mov si,(offset clierrtab)-4
nexterr:
add si,4
cmp word ptr [si],0ffffh ! je unknownerr
cmp cx,[si] ! jne nexterr
unknownerr:
mov dx,2[si]
; jmps showerr
showerr: ; Print Error String
;------- ; input: DX = address of Error
; string in CSEG
; if DX=0 then NULL COMMAND
cmp dx,0 ! jne perr
mov cmdsent,false ! jmp nextcommand
perr: push dx
mov dx,offset savebuf ! call print_ds_string
mov dl,':' ! call prchar
mov dl,' ' ! call prchar
pop dx
call printstring ! call crlf
jmp nextcommand
parsefilename: ; SI = fcb DI = string
mov cx,mpm_parse
mov bx,offset pcb
mov [bx],di ! mov 2[bx],si
mov dx,bx ! jmp mpm
a_to_b: ;dl = 1st char, dh = 2nd char
cmp dh,' ' ! jne atob2char
mov dh,dl ! mov dl,'0'
atob2char: cmp dh,'0' ! jb atoberr
cmp dh,'9' ! ja atoberr
cmp dl,'0' ! jb atoberr
cmp dl,'9' ! ja atoberr
sub dh,'0' ! sub dl,'0'
mov ax,0 ! mov al,dl
push dx ! mov cl,10
mul cl ! pop dx
mov dl,dh ! mov dh,0
add ax,dx
mov bx,ax ! ret
atoberr: mov bl,0ffh ! ret
prnum: ; dl = num (0-15)
cmp dl,10 ! jb prnum_one
push dx
mov dl,'1' ! call prchar
pop dx ! sub dl,10
prnum_one: add dl,'0'
; jmp prchar
prchar: mov cl,mpm_conout ! jmp mpm1
getuser: mov dl,0ffh
setuser: mov cl,mpm_usercode ! jmp mpm1
crlf: mov dx,offset crlfstr
;jmp printstring
printstring: push ds ! mov ax,cs ! mov ds,ax
call print_ds_string ! pop ds ! ret
print_ds_string:mov cl,mpm_conwrite ! jmps mpm1
setconsole: mov cl,mpm_setdefcon ! jmps mpm1
setdisk: mov cl,mpm_diskselect ! jmps mpm1
getdisk: mov cl,mpm_getdefdisk ! jmps mpm1
setlist: mov cl,mpm_setdeflst ! jmps mpm1
getlist: mov cl,mpm_getdeflst ! jmps mpm1
attach: mov cl,mpm_conattach ! jmps mpm1
detach: mov cl,mpm_condetach ! jmps mpm1
conread: mov cl,mpm_conread ! jmps mpm1
freedrive: mov cl,mpm_freedrive ! jmps mpm1
mpm1: jmp mpm
;*****************************************************
;*
;* CONSTANTS (IN SHARED CODE SEGMENT)
;*
;*****************************************************
clierrtab dw e_nullcmd, 0 ;null command
dw e_no_memory, memerr ;No memory
dw e_no_pd, pderr ;No unused PD
dw e_badfname, fnameerr;Ill. command
dw e_illdisk, fnameerr;Ill. disk
dw e_ill_passwd, fnameerr;Ill. password
dw e_badftype, fnameerr;Ill. type
dw e_bad_load, loaderr ;
dw e_bad_read, loaderr ;
dw e_bad_open, openerr ;
dw e_q_full, qfullerr;
dw e_abort, aborterr;
; a few extra entries for future errors
dw 0ffffh, catcherr;
dw 0ffffh, catcherr;
dw 0ffffh, catcherr;
dw 0ffffh, catcherr;
prompt db '>$'
crlfstr db 13,10,'$'
memerr db '?Not Enough Memory$'
pderr db '?PD Table Full$'
fnameerr db '?Bad File Spec$'
catcherr rb 0 ;Unknown Errs give
loaderr db '?Load Error$' ; Load Error Msg
openerr db '?Can''t Find Command$'
qfullerr db '?RSP Command Que Full$'
aborterr db '?CLI Abort$'
usererrmsg db 13,10,'Invalid User Number,'
db ' IGNORED',13,10,'$'
usermsg db 13,10,'User Number = $'
printemsg db 13,10,'Invalid Printer Number,'
db ' IGNORED',13,10,'$'
printermsg db 13,10,'Printer Number = $'
usercmd db 'USER '
printercmd db 'PRINTER '
supmsg db 'Start up command: $'
;*****************************************************
;*
;* TMP Data Area - this area is copied once for
;* each system console. The 'defconsole'
;* field is unique for each copy
;* - Each Data Area is run by a common
;* shared code segment.
;*
;*****************************************************
DSEG
org rsp_top
sysdatseg dw 0
sdatvar dw s_ncns
defconsole db 0,0
dw 0,0,0,0,0
org rsp_pd
pd dw 0,0 ; link fields
db ps_run ; status
db 198 ; priority
dw pf_sys+pf_keep ; flags
db 'Tmp ' ; Name
dw offset uda/10h ; uda seg
db 0,0 ; disk,user
db 0,0 ; ldisk,luser
dw 0ffffh ; mem
dw 0,0 ; dvract,wait
db 0,0 ; org,net
dw 0 ; parent
db 0,0 ; cns,abort
db 0,0 ; cin,cout
db 0,0 ; lst,sf3
db 0,0 ; sf4,sf5
dw 0,0 ; reserved
dw 0,0 ; pret,scratch
org rsp_uda
uda dw 0,offset dma,0,0 ;0-7
dw 0,0,0,0 ;8-fh
dw 0,0,0,0 ;10-17
dw 0,0,0,0 ;18-1f
dw 0,0,0,0 ;20-27
dw 0,0,0,0 ;28-2f
dw 0,0,offset stack_top,0 ;30-37
dw 0,0,0,0 ;38-3f
dw 0,0,0,0 ;40-47
dw 0,0,0,0 ;48-4f
dw 0,0,0,0 ;50-57
dw 0,0,0,0 ;58-5f
dw 0,0,0,0 ;60-67
org rsp_bottom
dma rb 128
stack dw 0cccch,0cccch,0cccch
dw 0cccch,0cccch,0cccch
dw 0cccch,0cccch,0cccch
dw 0cccch,0cccch,0cccch
stack_top dw offset tmp ; code offset
dw unknown ; code seg
dw unknown ; init. flags
maxcmdlen equ 128
; the Read Console Buffer and the
; Cli Control Block share the same memory
read_buf rb 0
read_maxcmd db 128
clicb rb 0
clicb_net rb 0
read_blen rb 1
clicb_cmd rb maxcmdlen + 1
cmdsent db false
parseret dw 0
pcb dw offset savebuf
dw offset fcb
fcb db 0, '$'
tmpnum db '0'
db '$ SUP'
rb 20
db 0 ;current record
savebuf rb 128
db 0 ;make sure hex is formed
end


Binary file not shown.

View File

@@ -0,0 +1,11 @@
0:8:0:81n:console:System support
1:8:0:81n:tty1:Interfacer 3 port 0
2:8:0:81n:tty2:Interfacer 3 port 1
3:8:0:81n:tty3:Interfacer 3 port 2
4:8:0:81n:tty4:Interfacer 3 port 3
5:4:0:81n:tty5:Interfacer 3 port 4 1200 baud to HP
6:8:0:81n:tty6:Interfacer 3 port 5
0:8:1:82n:LPR0,0:Interfacer 3 port 7
1:4:1:82n:LPR1,1:Interfacer 3 port 6 1200 baud to HP


View File

@@ -0,0 +1,8 @@
0:8:0:81n:console:System support
1:8:0:81n:tty1:Interfacer 3 port 0
2:8:0:81n:tty2:Interfacer 3 port 1
3:8:0:81n:tty3:Interfacer 3 port 2
4:8:0:81n:tty4:Interfacer 3 port 3
5:8:0:81n:tty5:Interfacer 3 port 4
6:8:0:81n:tty6:Interfacer 3 port 5


View File

@@ -0,0 +1,7 @@
; Sample USERINIT.SUB
; This SUBMIT file runs automatically each time a user logs in.
; This file types out mail (if any), and lists the .BAK files
; to remind them to delete them.
MAIL -A
DIR *.BAK
modifying files while they are being backed u

Binary file not shown.

View File

@@ -0,0 +1,491 @@
440307311 31982 3
tty9 michael 9 1768163447307311 31982 4
tty3 dean 3 17681648 2307311 31982 5
tty3 3 1768165347307311 31982 6
tty6 3 6 1768165427307311 31982 7
tty6 6 1768165432307311 31982 8
tty6 jerry 6 17681727 9307311 31982 9
tty6 6 1768172813307311 31982 10
tty6 tom 6 1768172839307311 31982 11
tty6 6 17681730 3307311 31982 12
tty6 1 6 1768173011307311 31982 13
tty6 6 1768173016307311 31982 14
tty6 michael 6 1768173030307311 31982 15
tty6 6 1768173144307311 31982 16
tty2 mary 2 1768173542307311 31982 17
tty6 michael 6 1768174219307311 31982 18
tty6 6 1768181745307311 31982 19
tty9 9 1768181836307311 31982 20
tty6 3 6 1768182435307311 31982 21
tty6 6 1768182441307311 31982 22
tty0 0 1768184558307311 31982 23
tty3 tod 3 176821 338307311 31982 24
tty3 3 176821 342307311 31982 25
tty9 mike 9 176821 559307311 31982 26
tty2 2 1768214655307311 31982 27
tty3 3 3 1768215114307311 31982 28
tty3 3 1768215120307311 31982 29
tty9 9 1768215716307311 31982 30
tty0 michael 0 1769 92955308411 41982 31
tty3 1 3 1769 95635308411 41982 32
tty3 3 1769 95640308411 41982 33
tty3 mike 3 1769 95657308411 41982 34
tty2 1 2 1769 95837308411 41982 35
tty2 2 1769 95842308411 41982 36
tty2 tom 2 176910 326308411 41982 37
tty9 michael 9 1769102618308411 41982 38
tty5 david 5 1769102853308411 41982 39
tty6 mary 6 176911 951308411 41982 40
tty6 6 17691110 8308411 41982 41
tty6 lauren 6 1769111018308411 41982 42
tty6 6 17691111 6308411 41982 43
tty6 rob 6 1769112147308411 41982 44
tty8 dean 8 17691123 9308411 41982 45
tty8 8 1769112337308411 41982 46
tty10 dean 10 1769112549308411 41982 47
tty10 10 1769114515308411 41982 48
tty2 2 17691149 2308411 41982 49
tty2 tom 2 1769114913308411 41982 50
tty8 jimb 8 1769115359308411 41982 51
tty8 8 176912 312308411 41982 52
tty6 6 176912 936308411 41982 53
tty6 ts 6 1769121212308411 41982 54
tty6 6 1769121255308411 41982 55
tty6 rob 6 1769121310308411 41982 56
tty6 6 1769121454308411 41982 57
tty6 ts 6 17691215 2308411 41982 58
tty4 jerry 4 1769122353308411 41982 59
tty8 michael 8 17691238 1308411 41982 60
tty8 8 1769124335308411 41982 61
tty9 9 1769125048308411 41982 62
tty6 6 1769131736308411 41982 63
tty6 paul 6 1769131751308411 41982 64
tty6 6 1769133251308411 41982 65
tty3 3 1769133437308411 41982 66
tty8 mary 8 1769134258308411 41982 67
tty6 ts 6 1769134518308411 41982 68
tty3 dean 3 1769134528308411 41982 69
tty6 6 1769135125308411 41982 70
tty9 mike 9 176914 817308411 41982 71
tty9 9 176914 850308411 41982 72
tty3 3 1769141230308411 41982 73
tty6 ts 6 1769142710308411 41982 74
tty2 2 1769143923308411 41982 75
tty6 6 1769144024308411 41982 76
tty9 michael 9 1769144032308411 41982 77
tty6 quickey 6 1769144038308411 41982 78
tty6 6 1769144045308411 41982 79
tty2 tom 2 1769144428308411 41982 80
tty6 ts 6 1769144716308411 41982 81
tty6 6 1769145850308411 41982 82
tty6 ts 6 17691459 2308411 41982 83
tty6 6 176915 323308411 41982 84
tty8 8 1769153218308411 41982 85
tty8 ts 8 1769154224308411 41982 86
tty3 dean 3 1769154432308411 41982 87
tty3 3 1769155034308411 41982 88
tty3 jimb 3 1769155917308411 41982 89
tty8 8 1769163244308411 41982 90
tty5 5 1769165041308411 41982 91
tty3 3 1769165211308411 41982 92
tty3 dean 3 1769165220308411 41982 93
tty4 4 1769165635308411 41982 94
tty3 3 1769165727308411 41982 95
tty5 michael 5 1769172254308411 41982 96
tty9 9 176918 329308411 41982 97
tty9 tod 9 176918 352308411 41982 98
tty9 9 176918 358308411 41982 99
tty9 tod 9 176918 4 7308411 41982 100
tty9 9 176918 410308411 41982 101
tty5 5 176918 748308411 41982 102
tty5 tod 5 176918 926308411 41982 103
tty5 5 176918 931308411 41982 104
tty6 1 6 176918 949308411 41982 105
tty6 6 176918 954308411 41982 106
tty6 1 6 1769181820308411 41982 107
tty6 6 1769181825308411 41982 108
tty6 1 6 1769182048308411 41982 109
tty6 6 1769182054308411 41982 110
tty9 michael 9 1769184816308411 41982 111
tty5 mike 5 176919 220308411 41982 112
tty9 9 176919 931308411 41982 113
tty0 0 1769192114308411 41982 114
tty5 5 1769192124308411 41982 115
tty9 jerry 9 1769204127308411 41982 116
tty9 9 17692054 1308411 41982 117
tty4 jerry 4 176921 959308411 41982 118
tty4 4 1769211327308411 41982 119
tty4 jerry 4 1769211337308411 41982 120
tty4 4 176922 833308411 41982 121
tty3 mike 3 1770 85141309511 51982 122
tty3 3 1770 852 0309511 51982 123
tty3 mike 3 1770 9 446309511 51982 124
tty6 2 6 1770 92059309511 51982 125
tty6 6 1770 921 4309511 51982 126
tty0 michael 0 1770 92711309511 51982 127
tty3 3 1770 92745309511 51982 128
tty3 paul 3 1770 92755309511 51982 129
tty3 3 1770 928 4309511 51982 130
tty6 2 6 1770 95224309511 51982 131
tty6 6 1770 95229309511 51982 132
tty9 michael 9 177010 921309511 51982 133
tty5 david 5 17701011 0309511 51982 134
tty5 5 1770102545309511 51982 135
tty5 david 5 1770103354309511 51982 136
tty8 mike 8 1770105543309511 51982 137
tty8 8 1770105815309511 51982 138
tty6 lauren 6 17701114 1309511 51982 139
tty8 lauren 8 1770111433309511 51982 140
tty3 mike 3 17701123 0309511 51982 141
tty6 6 17701127 7309511 51982 142
tty6 dean 6 1770112716309511 51982 143
tty10 who 10 1770114137309511 51982 144
tty10 10 1770114142309511 51982 145
tty10 les 10 17701146 7309511 51982 146
tty10 10 1770114732309511 51982 147
tty10 ws 10 1770114743309511 51982 148
tty1 lauren 1 1770114749309511 51982 149
tty10 10 1770114752309511 51982 150
tty8 8 1770114849309511 51982 151
tty6 6 1770114911309511 51982 152
tty9 9 1770115216309511 51982 153
tty1 1 1770115313309511 51982 154
tty3 3 1770115429309511 51982 155
tty3 jackie 3 1770115445309511 51982 156
tty5 5 17701155 6309511 51982 157
tty10 jackie 10 1770115542309511 51982 158
tty10 10 1770115547309511 51982 159
tty5 david 5 1770115557309511 51982 160
tty9 michael 9 17701156 6309511 51982 161
tty5 5 1770115631309511 51982 162
tty3 3 1770115644309511 51982 163
tty8 lauren 8 177012 148309511 51982 164
tty6 tom 6 177012 343309511 51982 165
tty0 0 177012 629309511 51982 166
tty8 8 1770122030309511 51982 167
tty6 6 1770122135309511 51982 168
tty6 tom 6 1770122220309511 51982 169
tty3 tod 3 1770124257309511 51982 170
tty3 3 17701243 2309511 51982 171
tty3 dean 3 1770124629309511 51982 172
tty3 3 1770124921309511 51982 173
tty4 jerry 4 1770125034309511 51982 174
tty0 tod 0 17701253 4309511 51982 175
tty0 0 17701253 8309511 51982 176
tty0 michael 0 1770125318309511 51982 177
tty10 les 10 1770125353309511 51982 178
tty5 michael 5 1770121144309511 51982 179
tty5 5 1770121230309511 51982 180
tty0 0 17701216 8309511 51982 181
tty5 david 5 1770121620309511 51982 182
tty8 rob 8 1770121728309511 51982 183
tty3 mike 3 1770121848309511 51982 184
tty5 5 17701314 0309511 51982 185
tty0 michael 0 1770131512309511 51982 186
tty3 3 1770131537309511 51982 187
tty8 8 1770131544309511 51982 188
tty10 10 1770131557309511 51982 189
tty6 6 1770131629309511 51982 190
tty9 9 1770131936309511 51982 191
tty3 who 3 1770132137309511 51982 192
tty3 3 1770132141309511 51982 193
tty3 who 3 1770132153309511 51982 194
tty3 3 1770132157309511 51982 195
tty2 2 1770132419309511 51982 196
tty8 who 8 1770132435309511 51982 197
tty8 8 1770132439309511 51982 198
tty6 mpmstat 6 17701325 8309511 51982 199
tty6 6 1770132512309511 51982 200
tty6 mpmstat 6 1770132544309511 51982 201
tty4 4 1770132548309511 51982 202
tty6 6 1770132547309511 51982 203
tty4 jerry 4 17701326 5309511 51982 204
tty6 michael 6 17701326 8309511 51982 205
tty6 6 1770132620309511 51982 206
tty4 4 1770132636309511 51982 207
tty6 mpmstat 6 1770132641309511 51982 208
tty6 6 1770132645309511 51982 209
tty6 mike 6 17701327 3309511 51982 210
tty6 6 1770132721309511 51982 211
tty8 mike 8 1770132740309511 51982 212
tty8 8 1770132751309511 51982 213
tty8 rob 8 1770132837309511 51982 214
tty1 mike 1 1770132855309511 51982 215
tty1 1 17701329 8309511 51982 216
tty1 mike 1 1770132918309511 51982 217
tty1 1 1770132928309511 51982 218
tty8 8 1770132940309511 51982 219
tty0 0 1770132954309511 51982 220
tty0 sync 0 17701330 2309511 51982 221
tty0 0 17701330 6309511 51982 222
tty0 Boot 0 17701333 2309511 51982 223
tty0 Boot 0 1770145359309511 51982 224
tty0 Boot 0 1770151355309511 51982 225
tty0 Boot 0 1770153818309511 51982 226
tty0 0 1770153825309511 51982 227
tty5 david 5 1770153839309511 51982 228
tty0 michael 0 1770153847309511 51982 229
tty10 jimb 10 1770153927309511 51982 230
tty10 10 1770153947309511 51982 231
tty10 3 10 1770154029309511 51982 232
tty10 10 1770154031309511 51982 233
tty2 tom 2 17701548 9309511 51982 234
tty3 dean 3 1770155137309511 51982 235
tty3 3 1770155249309511 51982 236
tty9 dean 9 17701553 1309511 51982 237
tty0 0 1770155628309511 51982 238
tty3 michael 3 17701558 2309511 51982 239
tty9 9 177016 059309511 51982 240
tty9 michael 9 177016 159309511 51982 241
tty0 david 0 1770162326309511 51982 242
tty5 5 17701624 0309511 51982 243
tty5 david 5 17701624 4309511 51982 244
tty0 0 1770162411309511 51982 245
tty8 dean 8 1770163516309511 51982 246
tty8 8 1770163737309511 51982 247
tty5 5 1770163838309511 51982 248
tty5 david 5 1770163842309511 51982 249
tty9 9 1770164813309511 51982 250
tty3 3 177017 029309511 51982 251
tty0 david 0 177017 258309511 51982 252
tty3 1 3 177017 3 6309511 51982 253
tty3 3 177017 3 7309511 51982 254
tty0 0 177017 311309511 51982 255
tty3 mike 3 177017 916309511 51982 256
tty5 5 177017 921309511 51982 257
tty8 1 8 1770171936309511 51982 258
tty8 8 1770171938309511 51982 259
tty3 3 1770172017309511 51982 260
tty0 dean 0 1770172242309511 51982 261
tty0 0 1770172257309511 51982 262
tty3 mike 3 1770182042309511 51982 263
tty3 3 1770182525309511 51982 264
tty6 mike 6 1770182629309511 51982 265
tty6 6 1770183257309511 51982 266
tty10 mike 10 17702059 7309511 51982 267
tty10 10 1770205926309511 51982 268
tty10 2 10 1770205951309511 51982 269
tty10 10 1770205953309511 51982 270
tty3 mike 3 1770211630309511 51982 271
tty3 3 1770212929309511 51982 272
tty0 rob 0 1770212945309511 51982 273
tty3 mike 3 1770213319309511 51982 274
tty8 rob 8 1770214113309511 51982 275
tty0 0 1770214524309511 51982 276
tty0 rob 0 1770214851309511 51982 277
tty0 0 1770222958309511 51982 278
tty2 2 1770223648309511 51982 279
tty0 rob 0 1770225358309511 51982 280
tty0 0 1770225739309511 51982 281
tty6 rob 6 1770231344309511 51982 282
tty6 6 17702337 8309511 51982 283
tty3 3 1770234035309511 51982 284
tty8 8 1770234411309511 51982 285
tty5 michael 5 1771 94038310611 61982 286
tty6 david 6 177110 648310611 61982 287
tty1 david 1 177110 750310611 61982 288
tty0 jimb 0 177110 926310611 61982 289
tty0 0 1771101119310611 61982 290
tty6 6 17711013 9310611 61982 291
tty1 1 1771101319310611 61982 292
tty0 michael 0 1771101434310611 61982 293
tty9 david 9 17711021 1310611 61982 294
tty0 0 1771103421310611 61982 295
tty0 michael 0 1771103426310611 61982 296
tty3 david 3 1771104051310611 61982 297
tty9 9 1771105650310611 61982 298
tty3 3 1771105658310611 61982 299
tty5 5 177111 816310611 61982 300
tty0 0 177111 829310611 61982 301
tty0 Boot 0 177111 924310611 61982 302
tty0 0 1771123615310611 61982 303
tty0 michael 0 1771123630310611 61982 304
tty0 0 1771123636310611 61982 305
tty0 michael 0 17711237 0310611 61982 306
tty0 0 17711248 6310611 61982 307
tty0 michael 0 1771124831310611 61982 308
tty0 0 1771131535310611 61982 309
tty0 michael 0 1771131540310611 61982 310
tty0 0 1771131645310611 61982 311
tty0 michael 0 1771131651310611 61982 312
tty0 0 17711322 4310611 61982 313
tty0 Boot 0 1771132249310611 61982 314
tty0 0 1771132942310611 61982 315
tty0 david 0 1771134314310611 61982 316
tty0 0 1771134322310611 61982 317
tty6 david 6 17711344 1310611 61982 318
tty1 david 1 1771141255310611 61982 319
tty6 6 1771142712310611 61982 320
tty1 1 1771143157310611 61982 321
tty0 Boot 0 1772115726311011 71982 322
tty0 0 1772115732311011 71982 323
tty3 mike 3 17721159 8311011 71982 324
tty6 mike 6 17721517 0311011 71982 325
tty6 6 1772154042311011 71982 326
tty3 3 1772154844311011 71982 327
tty3 who 3 17722052 3311011 71982 328
tty3 3 17722052 4311011 71982 329
tty0 Boot 0 1773 81458312111 81982 330
tty0 0 1773 819 7312111 81982 331
tty5 mike 5 1773 81918312111 81982 332
tty0 mike 0 1773 828 2312111 81982 333
tty0 0 1773 9 417312111 81982 334
tty5 5 1773 9 422312111 81982 335
tty0 who 0 1773 9 427312111 81982 336
tty0 0 1773 9 428312111 81982 337
tty0 Boot 0 1773 9 450312111 81982 338
tty0 0 1773 9 457312111 81982 339
tty4 1 4 1773 9 535312111 81982 340
tty4 4 1773 9 537312111 81982 341
tty0 michael 0 1773 9 611312111 81982 342
tty5 michael 5 1773 914 0312111 81982 343
tty2 tom 2 1773 91721312111 81982 344
tty5 5 1773 91855312111 81982 345
tty9 michael 9 1773 91942312111 81982 346
tty3 1 3 1773 92010312111 81982 347
tty3 3 1773 92011312111 81982 348
tty6 paul 6 1773 92012312111 81982 349
tty8 1 8 1773 92026312111 81982 350
tty8 8 1773 92028312111 81982 351
tty3 mike 3 1773 92054312111 81982 352
tty1 1 1 1773 92059312111 81982 353
tty1 1 1773 921 0312111 81982 354
tty6 6 1773 92150312111 81982 355
tty6 1 6 1773 92153312111 81982 356
tty6 6 1773 92154312111 81982 357
tty6 1 6 1773 92215312111 81982 358
tty6 6 1773 92216312111 81982 359
tty6 paul 6 1773 92233312111 81982 360
tty6 6 1773 92720312111 81982 361
tty6 1 6 1773 92732312111 81982 362
tty6 6 1773 92733312111 81982 363
tty5 david 5 1773 92855312111 81982 364
tty8 ts 8 1773 93010312111 81982 365
tty6 paul 6 1773 93118312111 81982 366
tty6 6 1773 93213312111 81982 367
tty6 lauren 6 1773 94940312111 81982 368
tty6 6 177310 7 9312111 81982 369
tty6 mary 6 1773102626312111 81982 370
tty6 6 1773102914312111 81982 371
tty4 dean 4 1773102930312111 81982 372
tty4 4 1773103018312111 81982 373
tty8 8 1773103212312111 81982 374
tty8 ts 8 1773103229312111 81982 375
tty6 rob 6 1773103430312111 81982 376
tty6 6 1773103444312111 81982 377
tty4 jerry 4 1773105558312111 81982 378
tty6 mary 6 17731056 1312111 81982 379
tty6 6 1773111413312111 81982 380
tty6 mary 6 1773111534312111 81982 381
tty9 9 1773112945312111 81982 382
tty6 6 1773115114312111 81982 383
tty9 mike 9 1773115333312111 81982 384
tty9 9 17731158 5312111 81982 385
tty4 4 177312 639312111 81982 386
tty4 jackie 4 177312 749312111 81982 387
tty6 mary 6 1773123626312111 81982 388
tty6 6 1773124858312111 81982 389
tty9 mike 9 177313 711312111 81982 390
tty6 lauren 6 1773131740312111 81982 391
tty5 5 1773131917312111 81982 392
tty5 david 5 1773132843312111 81982 393
tty6 6 1773133727312111 81982 394
tty3 3 17731352 8312111 81982 395
tty3 michael 3 1773135214312111 81982 396
tty5 5 177314 555312111 81982 397
tty5 1 5 1773142753312111 81982 398
tty5 5 1773142755312111 81982 399
tty5 mike 5 17731428 7312111 81982 400
tty5 5 1773142822312111 81982 401
tty5 david 5 1773144529312111 81982 402
tty6 dean 6 1773145016312111 81982 403
tty1 lauren 1 177315 712312111 81982 404
tty10 dale 10 177315 848312111 81982 405
tty10 10 1773151047312111 81982 406
tty1 1 17731512 8312111 81982 407
tty1 lauren 1 1773151518312111 81982 408
tty1 1 1773151621312111 81982 409
tty6 6 1773153027312111 81982 410
tty10 michael 10 1773153314312111 81982 411
tty10 10 1773153335312111 81982 412
tty10 dale 10 1773153345312111 81982 413
tty10 10 1773153619312111 81982 414
tty6 mary 6 1773154731312111 81982 415
tty9 9 1773155126312111 81982 416
tty6 6 17731552 2312111 81982 417
tty6 dean 6 1773155314312111 81982 418
tty9 mary 9 1773155321312111 81982 419
tty9 9 177316 8 4312111 81982 420
tty9 michael 9 177316 9 3312111 81982 421
tty6 6 1773161132312111 81982 422
tty6 paul 6 17731623 7312111 81982 423
tty6 6 17731626 1312111 81982 424
tty6 dean 6 1773162848312111 81982 425
tty6 6 1773163140312111 81982 426
tty10 les 10 1773163751312111 81982 427
tty10 10 1773164643312111 81982 428
tty10 les 10 17731651 3312111 81982 429
tty3 3 1773165924312111 81982 430
tty3 mike 3 1773172938312111 81982 431
tty3 3 1773173044312111 81982 432
tty3 mike 3 1773173049312111 81982 433
tty3 3 17731731 8312111 81982 434
tty3 mike 3 1773173340312111 81982 435
tty6 2 6 1773174111312111 81982 436
tty6 6 1773174113312111 81982 437
tty6 2 6 1773174152312111 81982 438
tty6 6 1773174154312111 81982 439
tty5 5 1773174239312111 81982 440
tty8 8 17731815 8312111 81982 441
tty3 3 1773182337312111 81982 442
tty8 tom 8 1773191210312111 81982 443
tty8 8 1773191319312111 81982 444
tty2 2 1773192224312111 81982 445
tty3 jerry 3 1773214048312111 81982 446
tty3 3 1773222920312111 81982 447
tty8 michael 8 1774 828 2313211 91982 448
tty9 9 1774 82945313211 91982 449
tty10 10 1774 83054313211 91982 450
tty4 4 1774 83130313211 91982 451
tty0 0 1774 832 7313211 91982 452
tty0 Boot 0 1774 83230313211 91982 453
tty0 0 1774 83234313211 91982 454
tty0 michael 0 1774 83246313211 91982 455
tty7 1 7 1774 833 9313211 91982 456
tty7 7 1774 83310313211 91982 457
tty7 michael 7 1774 83414313211 91982 458
tty3 mike 3 1774 91032313211 91982 459
tty3 3 1774 91922313211 91982 460
tty3 michael 3 1774 91934313211 91982 461
tty8 1 8 1774 92847313211 91982 462
tty8 8 1774 92849313211 91982 463
tty9 michael 9 1774 93151313211 91982 464
tty8 ts 8 1774 938 4313211 91982 465
tty5 david 5 1774 939 8313211 91982 466
tty2 tom 2 1774 93920313211 91982 467
tty3 3 1774 95058313211 91982 468
tty9 9 1774 951 2313211 91982 469
tty5 5 1774 95134313211 91982 470
tty0 Boot 0 1774 95153313211 91982 471
tty0 0 1774 95158313211 91982 472
tty5 david 5 1774 952 9313211 91982 473
tty9 michael 9 1774 95211313211 91982 474
tty7 michael 7 1774 95229313211 91982 475
tty9 9 1774 956 9313211 91982 476
tty9 michael 9 1774 95936313211 91982 477
tty6 ts 6 1774101414313211 91982 478
tty0 michael 0 17741021 2313211 91982 479
tty4 jerry 4 1774103837313211 91982 480
tty9 9 17741054 3313211 91982 481
tty9 mike 9 17741054 8313211 91982 482
tty9 9 1774105833313211 91982 483
tty9 michael 9 1774105838313211 91982 484
tty9 9 177411 117313211 91982 485
tty9 jackie 9 177411 125313211 91982 486
tty9 9 177411 211313211 91982 487
tty9 michael 9 177411 226313211 91982 488
tty5 5 1774112250313211 91982 489
tty5 david 5 17741134 0313211 91982 490
tty10 dale 10 1774121553313211 91982 491
tty9 9 17741