.FO                               4-#
.PN 1
                            Section 4

                    USING THE SEMIDISK DRIVER

INTRODUCTION

Thi sectio i designe fo bot th experience an novic 
use alike an describe ho t us th supplie softwar 
packag t instal th SemiDisk  Al user shoul b awar of 
preferabl rathe familia with thi section.


Th fastes wa t ge starte wit th SemiDis i t us th 
supplie self-instal program  Thi progra link int CP/ an 
b changin th BIO jum tabl an th lo memor pointer t 
CP/M intercept th CP/ BIO call an add th SemiDis t th 
BIOS  Th SemiDis drive progra occupie 1 t 2 bytes 
dependin o th feature selected an usuall reside directl 
belo th CCP  Th drive ca b relocate abov th BIO usin 
the L command.

.cp 20
INSTALLING SEMIDISK

A supplie o th SemiDis System softwar diskette th 
SemiDis drive shoul b read t g withou specifyin an 
changes  Al o th parameter ma b change i th drive 
allowing a wide variety of configurations.

Remembe t firs cop th suppplie dis o softwar an stor 
th origina away.

     Th simples invocatio o th progra SEMIDISK.CO͠ i 
achieve b typin SEMIDIS afte th promp fro CP/M:

     A>SEMIDISK               (then type a carriage return)

Beside bein th simplest i wil b th mos commo invocatio 
o th program becaus onc th desire option hav bee 
chosen th drive itsel i modifie t contai thes selecte 
options s thes option nee no b re-specifie a eac 
invocation  I  compute installatio use b man people som 
user ma no eve nee t kno ho t re-specif option usin 
th comman line 
 

.cp 8
USING THE HELP COMMAND

Th SemiDis Drive support  "help comman whic i activate 
b typin "SEMIDIS ?" Th hel informatio i containe i 4 
scree page o th terminal an yo specif whic pag t star 
o b addin th pag numbe afte th questio mark  Fo 
example "SEMIDISˠ ?3 woul onl giv yo pag  an  o th 
hel information  Table 4-1 4-2 an 4- giv th hel 
informatio containe i th SemiDis Driver.

Thi onlin hel informatio i designe a  reminde  t 
relativ novice s tha the needn' constantl refe bac t 
th manual 

.cp 21 
                            Table 4-1



       SemiDisk Install Program Option Switches      PAGE 1

Annn   Set SemiDisk base address.
       (nnn must be in decimal range 0-248)

B+     Enable Hyper-Boot 
       SemiDisk may be drive A:

B-     Disable Hyper-Boot.
       SemiDisk may not be drive A:
       WARMBOOT.COM created as a SYSTEM COMMAND on SemiDisk

d:     Select default drive of SemiDisk.
       If hyper-boot disabled, MUST be in the range of B:-O:
       els i hyper-boo enabled MUS b i rang o A t O:



       Press <RETURN> for next page. 

.cp 22

       SemiDisk Install Program Option Switches         PAGE 2



V+     Enable read after write option.

V-     Disable read after write option.

P+     Enable parity error reporting.

P-     Disable parity error reporting

R      Remove SemiDisk driver

Tnnn   Enable SemiSpool Printer Queueing (Requires correct list
       status)

T0     Disable SemiSpool Printer Queueing.

S+     Update SEMIDISK.COM with current options.

S-     Install SemiDisk without updating SEMIDISK.COM
       (S- MUST be the last option switch specified.)



       Press <RETURN> for next page.
.cp 22

       SemiDisk Install Program Option Switches       PAGE 3



Z+     Enable Auto-Format.  (Format the SemiDisk
       When installed unless valid data found.)

Z-     Disable Auto-Format.

M+     Enable disk mapping.  Use with multi-drive systems.

M-     Disable disk mapping.  Use with single-drive systems.

?n     Display help menus, n selects starting page.
       Page number 4 is a quick reference guide

W      Display who wrote this driver

O      Display current option configuration.


       Press <RETURN> for next page.
.cp 20

       SemiDisk Install Program Option Switches       PAGE 4

Avvv * Set Address            B+-   * Hyper-Boot enable/disable
Tnn *  Tracks for spooler     Lnn   * Locate driver
d:     SemiDisk drive number  P+-     Parity enable/disable 
V+-    Verify enable/disable  Z+-     Auto-format enable/disable
?n     Help menu display      S-    # Disable update (Must be last)
M+-    Disk mapping switch    R    *@ Remove SemiDisk
W    @ Who wrote this         O     @ Option display

    *  (This function cannot be used while logged into
       the SemiDisk.)

    @  (This function will return to CP/M)

    #  (This MUST be the last command switch)
   
Standard configuration is: SEMIDISK E: A128 B+ M+ B+ P+ V- Z- T1

This driver is configured to support multiple boards up to 8Mb.





HOW TO ENTER A COMMAND LINE

Whe th SemiDis drive i enabled i look fo th optiona 
comman line  Th comman lin fo  standar configuratio 
woul be:
     A>SEMIDISK E:/A128/P+/B+/Z+/T1/V-/M+

          (slashes may be replaced with spaces)

Thi comman lin woul instal th SemiDis drive a dis driv 
E a base-por addres 80 (12 decimal wit th parit 
checkin enabled Hyper-Boo enabled on trac reserve fo 
SemiSpool an aut forma enabled.

Another example of a command line:

     SEMIDISK I: A32 P- B+ Z+ S+

Driv I: por addres 20 (3 decimal) parit disabled Hyper-
Boo enabled, an aut forma enabled.
 
IMPORTANԠ NOTE  Remember thes comman line woul als re-
writ th fil SEMIDISK.CO wit th abov option pre-selecte 
s th nex tim al yo woul hav t d i typ "SEMIDISK 
withou needin  comman line Th previousl selecte option 
wil b used.

Also i i no necessar t includ ever optio o an 
particula comman line  An optio no include i th curren 
comman lin wil b lef unchange fro th previou setting  
Remembe tha th execute versio o SEMIDISK.CO o th logge 
dis wil b se accordingly bu othe copie (backups etc 
wil no b changed  Fo example typing:

     SEMIDISK F:

woul instal th SemiDis a driv F: wit al th othe 
options unchanged.

     SEMIDISK P+

woul instal th SemiDis wit parit enabled wit al o th 
othe option unchanged.
  
     SEMIDISK

woul instal th SemiDis wit n change fro th previou 
options.

Jus remembe tha thes ar SWITCHES whic ca b se semi-
permanently to one position or another.

Eac optio o th comman lin mus b separate b eithe  
spac o  slas "/".

.cp 10
SEMIDISK BASE ADDRESS

Th bas addres o th SemiDis ma b specifie b usin th 
"Avvv option  Thi optio allow th use t mov th SemiDis 
bas addres i th defaul bas addres o 80 overlap anothe 
I/Ϡ device  Th addres i b specifie i decimal o i 
hexadecima i th numbe i followe b th suffi "H" Th 
standar bas addres o th SemiDis i 12 decima o 8 Hex  

Examples:

     SEMIDISK A40H
or
     SEMIDISK A64

     would install the SemiDrive at the same I/O ports.

I mos compute systems th port 80 throug 83Ƞ wil b 
unuse an fre fo us b th SemiDisk  I thi case w 
sugges tha th SemiDis hardwar remai addresse a thes 
ports  (see Appendix E, "What Went Wrong?")


.cp 8
HYPER-BOOT

Whe th SemiDis drive i locate belo th CCP th CC shoul 
alway remain intact  Whe Hyper-Boo i enabled th SemiDis 
drive prevent th CC fro bein re-loade o ever warm-boot  
O som doubl densit systems thi featur wil no wor whe 
changin densitie o th flopp drive an i mus b disabled.


.cp 7
SEMIDISK DRIVE SELECT

Th SemiDis drive ca b configure t b an vali CP/ driv 
excep P  I th SemiDis driv i configure t b th sam a 
a existin drive an th Dis Mappin optio i disabled th 
SemiDriv wil overrid th flopp an th flopp driv wil b 
disabled Fo example i yo hav  floppie (Driv  an B an 
yo configur th SemiDis t b driv B the yo wil hav on 
flopp a driv A an on SemiDis a driv B: yo wil no b 
abl t acces flopp driv B a lon a th SemiDis driv i 
installed  However i Dis Mappin i enabled th 'shadowed 
flopp wil automaticall b give th nex highe dis 
designation i thi cas driv C: an al disk highe tha B 
wil b similarl moved.

.cp 10
SEMIDISK SIZE

Versios 4.1 an 5. softwar automaticall sense th numbe o 
sector i th SemiDis board installed an install th drive 
wit thi siz o SemiDrive  Thi require tha th Bas Por o 
eac installe boar b th same an tha th secto addres o 
eac boar b se s tha  contiguou bloc o sector i 
generate betwee secto  an th to sector.

Example Thi ca b accomplishe wit  combinatio o SemiDis 
boards  Fo example  2Mbyt boar coul b se t b sector 
0-63 the  1Mbyt boar coul becom sector 64-95 an  51 
Kbyt boar coul becom sector 96-11 

I th installatio progra detect tha board ar installe 
non-contiguousl ('holes i th secto map thi i reporte a 
a error.

I isn' possibl fo th softwar t determin i tw SemiDis 
board ar inadvertentl installe a th sam secto bank  T 
ensur tha thi doesn' happen coun th tota capacit o th 
installe boards an compar thi wit th capacit outputte b 
th installatio progra immediatel afte installation  An 
discrepanc i siz indicate a imprope installation.


.cp 5
SEMISPOOL

Thi i  functio whic implement a automati printe spoole 
i softwar an th SemiDis hardware Th SemiSpoo softwar 
take character outputte t th LIS device store the i  
queu hel i th SemiDisk an output character t th lis 
devic wheneve it statu indicate i i read t accep them.

Wheneve  dat byt i sen t th LIS device i i place in 
th queu an th appropriat pointer ar modifie t reflec 
thi placement  Th processo i the fre t retur t th use 
progra an possibl generat mor outpu data  Th proces o 
addin byte t th queu ca continu unti th queu i full 
a whic poin th SemiSpoo softwar mus wai unti  byt ca 
be sent to the printer.

Similarly th queu i emptie b th SemiSpoo software  Eac 
tim th processo doe  BIO call th spoolin softwar check 
t se i th printe i read t accep dat an th spoo 
track contai spoole data  I so  byt o dat i sen t 
th printe an contro i returne t th BIO cal originall 
planned   I som cases suc a th BIO cal CONIN wher 
contro doe no retur t th BDO unti  characte ha bee 
type o th keyboard th CONSTA an th LSTSTA routine ar 
alternatel scanned I thi wa SemiSpoo wil continu t b 
handled even if the computer is waiting for keyboard data.

Generally thi proces i transparen t th user sinc i mos 
program  BIO cal i requeste sufficientl ofte t kee th printer' buffe (usuall  lin buffer full  I unusua cases 
suc a durin  lon computation ther ma b  dela betwee 
BIOS calls long enough to allow the printer to empty itself.

Not tha yo ca stil us you hardwar printe buffe o th 
printe buffe i th printe itself SemiSpoo wil no 
interfer wit them  However th externa printe buffer wil 
not improve performance beyond that of SemiSpool.

Th amoun o storag use fo th spoo queu i determine whe 
th SemiDis i installe b th  (tracks command  Th "T i 
immediatel followe b  decima numbe ( t 250 indicatin 
th numbe o SemiDriv track t b allocate fo th spooler  
Th actua siz i dependan o th siz o eac track whic i 
relate t th siz o th SemiDriv itself  Fo example o   
Mbyt SemiDrive eac trac i 4Kbyte long s t allocat 40 
t th printe buffer th comman T1 shoul b given  I a 
8Mbyt SemiDriv i availabl an th comman T25 i given 
approximatel 8Mbyte o spoolin ar available (Abou  day o 
printin wit  4 cp daisy-whee printer o abou  hour wit 
a 300 lpm line printer.) 

SemiSpoo allocate th spac i th SemiDis fro th to (trac 
255 down thereb decreasin th amoun o dis storag tha i 
availabl fo use  

                            WARNING:
Whe SemiSpoo i installed i doe no chec t se i 
th spac allocate fo i i alread i us storin  
fil o th SemiDrive  I SemiSpoo i allocate som 
track tha ar alread containin vali data tha dat 
become unavailabl t th SemiDrive an i likel t 
b destroye b th SemiSpoo action  Therefore i i 
recommende䠠 tha th SemiSpoo track shoul䠠 b 
adequatel allocate befor th SemiDriv i fille wit 
data 



Formula for determining size of spooler:

     Spool Size = Tracks value x Size of SemiDrive
                  ________________________________
                              256


I i ver importan t not tha i orde t us SemiSpool you 
computer' CP/͠ BIOӠ mus hav bee designe t correctl 
implemen th BIO cal LIS STATUS (Thi cal shoul retur   
i th printe i ready  i no ready.  W ar awar tha  
numbe o manufacturer hav generate BIOSe withou thi 
correc implementation  I i IMPOSSIBL fo  prin spoole t 
b writte tha operate properl withou acces t th correc 
LIS STATU information.

I you computer' BIO doe no correctl implemen th LIS STATUӠ call an yo hav th sourc cod t th BIOӠ an ca 
modif assembl languag programs d so (Se Digita Research' 
CP/ manual fo instructions.)

I yo canno modif sourc cod o hav none complai t th 
manufacturer  Yo hav  righ t  correctl implemente CP/ 
operatin system  

Example Command line to install SemiSpool: (15 tracks of queue)

     A>SEMIDISK T15




LOCATE COMMAND

Durin  norma first-tim installation th SemiDis softwar 
driver ar installe jus belo th CCP  Th SemiDis drive 
ca b relocate i  memor addres abov th BIO b usin th 
"L command  Th "L comman doe chec t assur tha th use 
specifie addres i indee abov th BIO bas address bu i 
i th reponsibilit o th use t ensur tha th driver ar 
no bein installe ove  portio o th BIO o othe syste 
softwar whic ma resid abov th BIOS  Th driver requir 
betwee 1ˠ an 2ˠ o memory dependin o whethe o no 
SemiSpoo i implemented  an wil star o an 25 byt 
boundar abov th BIOS.

Example:  Command line to locate drivers starting at F800 hex;

     A>SEMIDISK LF8H
     or
     A>SEMIDISK LF800H
     or
     A>SEMIDISK L63488

.c 8
REMOVING THE SOFTWARE DRIVER

Th SemiDis drive ma b remove an therefor mak i 
impossibl t acces th SemiDis b usin th "R command  Whe 
th remov optio i specified th drive ignore al othe 
command an simpl re-patche th BDO an BIO jum tables 

Example command line to remove SemiDisk driver:

     A>SEMIDISK R

Dat i stil vali i th SemiDis hardware an ca b 
retrieved by re-installing the software. 

.cp 8
AUTO-UPDATE

I an optio change ar specifie i th comman line th 
instal progra automaticall update th versio o SEMIDISK.CO 
o th defaul drive A S- comman a th LAS optio switc o 
th comman lin wil disabl thi auto-updat function s th 
curren option WIL NO B store bac ont th disk.

Exampl comman lin t instal th SemiDis withou writin th 
ne combinatio o switche bac t th dis렠 containin 
SEMIDISK.COM:

A>SEMIDISK C: P+ Z- S-



.cp 5
DISPLAY CURRENT OPTIONS

Th O optio wil displa th curren SemiDis option withou 
installin th SemiDis driver  Thi i a eas wa t chec t 
mak sur th option ar al correct.

Example command line to display current options:

     A>SEMIDISK O


.cp 13
AUTO-FORMAT

Whe th compute i turne on an n battery-backu i 
installed th SemiDis i ful o rando data  Befor th 
SemiDis i accessed i mus b formatted  Th Z optio forces 
th SemiDis t b formatte whe th drive i installe wit 
thi option  Befor th drive format th SemiDisk i firs 
look t se i ther i vali dat o th SemiDisk I ther is 
th forma functio i skipped  I invali dat i found th 
softwar format th SemiDisk 

.pa