home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
mbug
/
mbug020.arc
/
BIOS84.WSF
< prev
next >
Wrap
Text File
|
1979-12-31
|
12KB
|
215 lines
MICROBEE BIOS WITH 80/40 TRACK SUPPORT - S. GERRATY
INTRODUCTION:
Thσá followinτá cover≤ modifieΣ bio≤ version≤ 1.▓ anΣ 1.│ whicΦá allo≈ ì
botΦ 4░ anΣ 8░ tracδ drive≤ t∩ bσ useΣ oε thσ samσ machine«á Marδá Bishop'≤ ì
SETDIS╦á utilit∙ stil∞ work≤ witΦ thesσ ne≈ bios's«á The∙ currentl∙ d∩á no⌠ ì
suppor⌠á thσá aut∩á formattinτ a≤ useΣ b∙ Microbeσá Systems¼á ie«á thσá DP┬ ì
addresse≤ arσ iε thσ DPH≤ anΣ arσ no⌠ overwrittení Thi≤ allow≤ theφ t∩ boo⌠ ì
u≡á read∙á t∩ talδ t∩ 5.25ó anΣ 3.5ó drive≤ withou⌠ an∙á furthe≥á fuss«á Iµ ì
requireΣ ß bio≤ caε bσ assembleΣ witΦ thσ aut∩ formattinτ supported¼á bu⌠ ╔ ì
finΣ i⌠ ß hindrance¼á rathe≥ thaε ß help«á Currentl∙ botΦ bios'≤ arσ se⌠ u≡ ì
fo≥ │ drives¼á witΦ ß combinatioε oµ 8░ anΣ 4░ tracδ drives¼á A¼á B¼á anΣ ─ ì
(logica∞á drive⌐ arσ initiall∙ se⌠ fo≥ 4░ trδ D╙ D─ iε bio≤ 1.▓ anΣ 8░á trδ ì
S╙á (3.╡ ó format⌐ iε bio≤ 1.3¼á drivσ ├ i≤ thσ oppositσ iσ 8░ trδ iεá bio≤ ì
1.▓ anΣ 4░ trδ iε 1.3«á Thσ bios'≤ als∩ contaiε ß DP┬ fo≥ aε 800δ 8░ trδ D─ ì
D╙á format¼á a≤á useΣ oε 3.5ó D╙ drive≤ (ske≈ tablσ i≤ stil∞á thσá samσá a≤ ì
others)«
BIOS812.LBR:
BIOS812.CO═:
Thi≤ i≤ ß modifieΣ bio≤ fo≥ 56δ machine≤ i⌠ support≤ botΦ 8░ ì
anΣ 4░ tracδ drives«á I⌠ require≤ ß modifieΣ boo⌠ roφ t∩ bσ ablσ t∩ reaΣ 8░ ì
tracδ drives¼á bu⌠ wil∞ worδ O╦ withou⌠ thσ modifieΣ rom¼á bu⌠ onl∙ witΦ 4░ ì
tracδ drives«á Thσ distributeΣ version¼á i≤ se⌠ u≡ fo≥ 4░ tracδ A¼ B¼ anΣ ─ ì
(logical⌐ drives¼á anΣ 8░ trk≤ S╙ fo≥ drivσ C«á I⌠ i≤ se⌠ u≡ t∩ suppor⌠ thσ ì
ZCPR▓ buffers¼á anΣ shoulΣ bσ useΣ witΦ ZCPR2«á Notσ tha⌠ witΦ ZCPR2¼á aut∩ ì
commanΣ executioε doe≤ no⌠ worδ oε warφ starts«á SETDIS╦ b∙ Marδ Bisho≡ caε ì
stil∞ bσ useΣ t∩ a≤ before.
CNFG12.COM:
┴ modifieΣ confiτ program¼á shoulΣ onl∙ bσ useΣ witΦ versioε ì
1.▓ duσ t∩ differen⌠ patcΦ locations«
NEWROMP.MAC:
Thi≤ i≤ aε M8░ sourcσ file¼á showinτ thσ change≤ madσ t∩ thσ ì
boo⌠ roφ fo≥ 56δ machines«á Note╗ thσ boo⌠ roφ imagσ iε thσ 128δ machinσ i≤ ì
identica∞ t∩ thσ 56δ boo⌠ rom¼á anΣ therσ arσ onl∙ │ byte≤ differen⌠ iε thσ ì
CIA┬ roφ image¼ (mainl∙ duσ t∩ thσ 8░ trδ drives).
NEW8040.ROM: (Not supplied)
Thi≤á i≤ ß modifieΣ boo⌠ rom¼á i⌠ use≤ thσ scratcΦá locatioε ì
(word⌐ a⌠ 0DF7D¼á anΣ use≤ thσ 1▒ sparσ byte≤ a⌠ thσ enΣ oµ thσ roφ a≤ wel∞ ì
a≤á par⌠á oµá thσá Monito≥á signoε ~message«á Thσá scratcΦá locatioεá i≤á onl∙ ì
initialized¼á afte≥ thσ boo⌠ roφ decide≤ t∩ BOO╘ froφ ß disk«á Thi≤ enable≤ ì
Tapσ Basiπ t∩ functioε normally« Work≤ finσ witΦ ApplieΣ Tech« bio≤ etc.
NNEW8040.ROM║á (No⌠á suppliedíá brinτ you≥ Beσ t∩ ß meetinτ for an upgrade!)
Thi≤á i≤ ß modifieΣ boo⌠ rom¼á i⌠ use≤ thσ scratcΦá locatioε ì
(word)¼ a⌠ 0DF4╢ whicΦ i≤ normall∙ initializeΣ b∙ thσ boo⌠ rom¼ oε rese⌠ t∩ ì
0,0«á Thσá location≤ arσ provideΣ t∩ allo≈ re-directioε anΣ enhancemen⌠á oµ ì
thσ vide∩ driver«á Becausσ thσ monito≥ alread∙ set≤ u≡ thi≤ location¼ extrß ì
codσá i≤ no⌠ requireΣ t∩ initializσ it¼á simpl∙ changσ thσ value≤ tha⌠á arσ ìèused«á Thσ disadvantagσ oµ thi≤ method¼ i≤ tha⌠ thσ scratcΦ locatioε i≤ re-ì
initializeΣá oεá rese⌠á o≥ entr∙ t∩ thσ Monitor«á Thi≤ mean≤á tha⌠á iµá fo≥ ì
instancσ thσ defaul⌠ drivσ i≤ 4░ tracδ (i⌠ is)¼ anΣ onσ wisheΣ t∩ usσ aε 8░ ì
tracδá drivσá froφá thσ monitor¼á thσ scratcΦ locatioεá woulΣá neeΣá t∩á bσ ì
manuall∙á se⌠á t∩ thσ correc⌠ value≤ afte≥ enterinτ thσá monitor«á Thi≤á i≤ ì
considereΣ ß smal∞ inconvenience¼á anΣ thi≤ versioε i≤ thσ distributeΣ one« ì
Thσ othe≥ i≤ availablσ oε request«á Note¼ thi≤ roφ work≤ perfectl∙ witΦ an∙ ì
bio≤ version¼ o≥ an∙ othe≥ softwarσ - tha⌠ doesn'⌠ clobbe≥ 0DF46.
BIOS813.LBR:
BIOS813.COM:
Thi≤ i≤ ß modifieΣ bio≤ fo≥ thσ CIAB« I⌠ allows¼ botΦ 8░ anΣ ì
4░ tracδ drive≤ t∩ bσ used¼á a≤ wel∞ a≤ Marδ Bishop'≤ SETDIS╦á utility¼á o≥ ì
eveε ApplieΣ Techs«á SETDRIV┼ (no⌠ supplieΣ witΦ CIAB)«á ╔ havσ beeε unablσ ì
t∩ finΣ an∙ reasoε wh∙ thσ CIA┬ a≤ supplieΣ canno⌠ suppor⌠ othe≥ format≤ (╔ ì
kno≈á wh∙á - lacδ oµ ß sparσ ske≈ table!⌐ bu⌠ thσ spacσ los⌠ ha≤á no⌠á beeε ì
filleΣ witΦ anythinτ useful« Thi≤ bio≤ caε bσ seeε a≤ ß replacemen⌠ fo≥ thσ ì
CIA┬á bios«á I⌠ doe≤ NO╘ requirσ ß modifieΣ boo⌠ rom¼á sincσ i⌠ over-write≤ ì
thσá actua∞ byte≤ iε thσ boo⌠ roφ imagσ (iε RAM)«á Thi≤ methoΣ take≤ ßá bi⌠ ì
morσ rooφ iε thσ bios¼ bu⌠ i≤ preferablσ t∩ puttinτ iε ß ne≈ romí
CNFG13.COM:
┴ modifieΣ versioε oµ config¼á shoulΣ onl∙ bσ useΣ witΦ bio≤ ì
versioε 1.│ duσ t∩ differen⌠ patcΦ locations.
BotΦ oµ thσ abovσ bios'≤ havσ beeε testeΣ oε thσ appropriatσá machine¼ ì
anΣ t∩ datσ havσ no⌠ showε an∙ problems«á EacΦ come≤ completσ witΦ ß confiτ ì
utilit∙á - t∩ adjus⌠ screeε positioning¼á printe≥ setting≤ anΣ aut∩ commanΣ ì
executioε oε colΣ boot«á WitΦ zcpr2¼á aut∩ executioε oε warφ boo⌠ doe≤á no⌠ ì
seeφ t∩ worδ (oε an∙ bio≤ ╔ have!)¼á work≤ finσ witΦ zcpr1«á Iε orde≥ t∩ bσ ì
ablσá t∩á usσá standarΣ version≤ oµ severa∞ program≤ - sucΦ a≤á Telcoφá anΣ ì
Setdisk¼á i⌠ ha≤ beeε necessar∙ t∩ leavσ thσ BIO╙ typσ a≤ ▒ withiε thσ bio≤ ì
a⌠á 0D63│á sincσá thesσá program≤ checδá tha⌠á bytσá (the∙á stil∞á functioε ì
correctly)«á Thi≤ mean≤ tha⌠ thσ modifieΣ confiτ utilitie≤ onl∙ checδ fo≥ ß ì
valuσ oµ 1í thu≤ i⌠ i≤ u≡ t∩ thσ use≥ t∩ ensurσ tha⌠ thσ correc⌠ versioε i≤ ì
beinτ used¼ (no⌠ hard!).
INSTALLATION:
Duσá t∩á copyrigh⌠ law≤ etc...«á Thσ librar∙ file≤á fo≥á eacΦá versioε ì
contaiεá onl∙á thσ assembleΣ forφ oµ thσ ne≈ bio≤ anΣ utilities¼á thσá onl∙ ì
sourcσá codσá giveεá i≤á thσ patche≤ fo≥ thσ boo⌠á rom«á BDO╙á etπá i≤á no⌠ ì
included«á WitΦ al∞ thσ fus≤ lately¼ ╔ wil∞ no⌠ eveε distributσ thσ Ne≈ Roφ ì
image¼á sincσ i⌠ i≤ stil∞ almos⌠ entirel∙ ApplieΣ Tech«á An∙ onσ wantinτá ß ì
NE╫ rom¼á wil∞ havσ t∩ brinτ thei≥ 'Beσ t∩ ß hacker'≤ meeting¼ o≥ seσ mσ a⌠ ì
thσ norma∞ meetinτ t∩ makσ arrangements«á Thu≤ n∩ onσ caε accusσ u≤ (me⌐ oµ ì
proliferatioε oµ copyrigh⌠ softwarσ (shade≤ oµ Apple)¼ ╔ aφ simpl∙ offerinτ ì
aεá upgradσá t∩á existinτ disδ systems«á Thi≤ i≤ oµ coursσá unti∞á Microbeσ ì
System≤ sa∙ OK«
CIA┬ owner≤ d∩ no⌠ havσ t∩ worr∙ abou⌠ Rom≤ sincσ versioε 1.3¼ fo≥ thσ ì
CIA┬á simpl∙á ove≥á write≤ thσ actua∞ location≤ witΦ iε thσá roφá imagσá a⌠ ì
0E000h.
è ╔ wil∞ no⌠ givσ blo≈ b∙ blo≈ description≤ oµ ho≈ t∩ insta∞ them¼ sincσ ì
generally¼á thosσ competen⌠ t∩ d∩ it¼ alread∙ kno≈ how¼ anΣ ╔ don'⌠ reall∙ ì
wan⌠ thosσ wh∩ don't¼ t∩ tr∙ it¼ anΣ theε kil∞ mσ wheε thei≥ disδ dies« An∙ ì
onσá wh∩ doe≤ no⌠ fee∞ u≡ t∩ it¼á bu⌠ doe≤ wan⌠ thσ facilitie≤ offereΣá seσ ì
myselµ o≥ somσ onσ elsσ fo≥ help.
Briefly:
Usσá DD╘ o≥ CEBUG¼á reaΣ iε ß sysgeε imagσ (contain≤ bdo≤á etc⌐á Then¼ ì
reaΣ iε ne≈ bio≤ eg¼ bios812.coφ a⌠ 1F80Φ ie« witΦ aε offse⌠ oµ 1E80« Writσ ì
thσ filσ ou⌠ agaiε - savσ froφ 100Φ t∩ 2900h
CIA┬á owner≤ wil∞ neeΣ t∩ modif∙ thei≥ sysgeε par⌠ oµ thσ filσ t∩ savσ ì
thσ correc⌠ length« ShoulΣ be;
LD DE,0001 ; Get the boot sector Trk 0 sector 1
LD HL,11F1
LD BC,0080 ; 7F for write
CALL 0E039 ; read, E03C for write
LD DE,0002 ; get rest of track 0
LD HL,1271
LD BC,11FF
CALL Z,0E039 ; read trk 0
; now get track 1 - here's where all the changes occur.
LD DE,0101 ;for SS 4F01 for 40T DS, 9F01 for 80T DS
LD HL,2471
LD BC,13FF
CALL Z,0E039 ; offload into ram
Fo≥á thosσá wh∩ arσ interesteΣ iε thσ gor∙ detail≤ abou⌠á thesσá mods¼ ì
reaΣ oní NOTE║ Ma∙ borσ somσ (most?)«
THE NEED:
Well¼á ever∙á onσ want≤ t∩ talδ t∩ 8░ tracδ (3.5"⌐ drive≤ thesσá days¼ ì
anΣ no⌠ ever∙ onσ ha≤ ß dreaφ disδ systemíá Thσ standarΣ ApplieΣ Technolog∙ ì
boot_rom(s)¼á anΣá bios(s⌐á onl∙ worδ witΦ 4░ tracδ (o≥ 8░á tracδá fo≥á thσ ì
CIAB)«á WitΦ m∙ 4░ tracδ drive≤ gettinτ prett∙ tireΣ lately¼á ╔ havσ haΣ m∙ ì
eye≤ oε somσ ne≈ 8░ tracδ 3.5ó drives« ╔ didn'⌠ wan⌠ t∩ swa≡ completely¼ s∩ ì
somσ change≤ werσ needed.
Wheεá usinτá anothe≥ modifieΣ bio≤ anΣ boo⌠ roφ t∩ allo≈á 80/4░á tracδ ì
drives¼ ╔ haΣ ß lo⌠ oµ troublσ witΦ tracδ seeking¼ anΣ sysgeninτ disk≤ etc« ì
NOTE╗á thi≤á se⌠á u≡ I╙ workinτ quitσ wel∞ iε ß numbe≥ oµ machine≤á a⌠á thσ ì
momentíá (Jus⌠ m∙ lucδ tha⌠ ╔ havσ pick∙ hardware)« Afte≥ re-calibratinτ m∙ ì
controller¼á anΣ stil∞ havinτ thσ samσ problems¼á ╔ decideΣ tha⌠ thσ methoΣ ì
useΣá - locatinτ thσ dup_dowε flaτ anΣ testinτ i⌠ eacΦ timσ ß reaΣ o≥ writσ ì
etπá wa≤ done¼á wa≤ thσ causσ oµ thσ probleφ (al∞ thosσ extrßá instruction≤ ì
fo≥ eacΦ access)«á Iε an∙ event¼á ╔ wanteΣ ß morσ elegan⌠á solution¼á 80/4░ ì
tracδ capability¼ anΣ al∞ oµ m∙ monito≥ function≤ too!
╔ decideΣ t∩ storσ thσ datß requireΣ (i« t∩ tes⌠ iµ thσ requireΣ tracδ ì
i≤ oε sidσ ░ o≥ 1«á ii«á Thσ valuσ t∩ subtrac⌠ thσ tracδ numbe≥ froφ t∩ ge⌠ ì
thσá correc⌠ valuσ oε sidσ 1«á eτ 4░ anΣ 17╣ fo≥ ß 4░ tracδ drive⌐ iε ß se⌠ ì
location¼á anΣá havσ thσ bio≤ anΣ thσ boo⌠ roφ refe≥ t∩ thi≤ locatioεá wheε ì
needed«á Thi≤ methoΣ onl∙ add≤ onl∙ ß couplσ oµ byte≤ t∩ thσ boo⌠ roφ - thσ ì
modifieΣ comparσ etc¼á anΣ thσ jump≤ requireΣ tooδ onl∙ 1▓ byte≤ (froφá thσ ì
Monito≥á sigεá oεá message⌐ - thu≤ therσ arσ les≤ timinτá problem≤á (none?⌐ ì
produced¼ anΣ n∩ los≤ oµ monito≥ functions.è Thσ onl∙ probleφ wa≤ t∩ finΣ ß sparσ worΣ iε thσ scratcΦ area«á Ou⌠á oµ ì
severa∞á alternatives¼á ╔á decideΣ t∩ usσ thσ worΣ beginninτ a⌠á 0DF4╢á thσ ì
precedinτ bytσ caε bσ changeΣ froφ ß 0C╣ (RET⌐ t∩ ß 0C│ (JP⌐ t∩ causσ vide∩ ì
outpu⌠á t∩á bσ re-directeΣ t∩ thσ addres≤ containeΣ iε 0DF46¼á thi≤á allow≤ ì
expansioεá oµ thσ vide∩ drive≥ capabilities«á ╔ seσ nothinτ wronτ witΦá thσ ì
Microbee'≤á display¼á bu⌠ iµ an∙ onσ want≤ t∩ usσ thi≤ facilit∙á therσá arσ ì
othe≥ location≤ possiblσ - thσ origina∞ versioε oµ thesσ mod≤ useΣ thσ worΣ ì
a⌠á 0DF7─á (thσ addres≤ t∩ jumpeΣ t∩ iµ thσ previou≤ worΣ contain≤á 55A┴á - ì
normall∙á onl∙á useΣá b∙ tapσ basiπ - whicΦ doesn'⌠á usσá disks¼á thσá onl∙ ì
probleφá witΦ thi≤ locatioε (apar⌠ froφ thσ fac⌠ tha⌠ somσ peoplσ AR┼ usinτ ì
it!⌐ i≤ tha⌠ i⌠ take≤ anothe≥ 1▒ byte≤ t∩ initializσ it«á 0DF4╢ i≤á alread∙ ì
initializeΣá b∙ thσ boo⌠ roφ oε rese⌠ (t∩ ░ 0)«á Thσ onl∙ probleφ witΦá thσ ì
wa∙á 0DF4╢ i≤ initialized¼á i≤ iµ onσ wanteΣ t∩ usσ aε 8░ tracδ drivσá froφ ì
thσá monito≥á - thσá datßá fo≥ trk_da⌠ need≤ t∩ bσá manuall∙á loadeΣá afte≥ ì
enterinτ thσ monito≥ (╔ neve≥ usσ thσ monito≥ fo≥ tha⌠ anyway).
Thσ scratcΦ locatioε i≤ initializeΣ oε reset¼á t∩ thσ machine≤ norma∞ ì
se⌠ up¼ eg« 4░ trδ fo≥ 56δ machines« Thi≤ allow≤ thσ firs⌠ tracδ t∩ bσ reaΣ ì
in¼á anΣá iµ aε 8░ tracδ divσ ha≤ beeε fitteΣ t∩ ß 56δá machine¼á thσá boo⌠ ì
secto≥á caε contaiε codσ t∩ re-initializσ thσ scratcΦ location«á Thu≤ ß ne≈ ì
boo⌠ roφ i≤ no⌠ requireΣ wheε switchinτ thσ boo⌠ drivσ froφ 4░ t∩ 8░á tracδ ì
(i⌠ get≤ ß bi⌠ ~embarrassinτ goinτ t∩ thσ hai≥ dresser'≤ t∩ erasσ eproms!)« ╔ ì
includeΣá codσ iε thσ disposablσ sectioε oµ thσ bio≤ (alonτ witΦ thσ signoε ì
message⌐á t∩ initializσ thσ scratcΦ location«á Thi≤ let≤ thσ modifieΣá bio≤ ì
worδ O╦ witΦ aε unmodifieΣ boo⌠ roφ - bu⌠ no⌠ witΦ 80/4░ tracδ support.
Iε norma∞ operation¼á thσ scratcΦ locatioε (calleΣ trk_dat⌐ i≤ updateΣ ì
eacΦ timσ ß cal∞ i≤ madσ t∩ 'hsetup'¼á beforσ ß reaΣ o≥ write¼ thi≤ routinσ ì
get≤ thσ dup_dowε flaτ - t∩ seσ iµ ß cylinde≥ forma⌠ i≤ used¼á thσ modifieΣ ì
routine¼ als∩ checδ thi≤ flaτ fo≥ 8░ o≥ 4░ track¼ anΣ load≤ thσ appropriatσ ì
datß int∩ trk_dat«á (o≥ thσ appropriatσ location≤ withiε thσ roφ imagσá fo≥ ì
thσá CIAB)«á Agaiεá ver∙ fe≈ extrß instruction≤á beinτá performed¼á causinτ ì
minima∞ timinτ delays«á ┴ sidσ effec⌠ i≤ tha⌠ shoulΣ aε applicatioε prograφ ì
clobbe≥á trk_dat¼á whils⌠á running¼á wheεá i⌠ come≤ t∩ writσ t∩á thσá disk¼ ì
trk_da⌠á i≤ restored¼á thi≤ ma∙ resul⌠ iε corrup⌠ datß beinτ placeΣ oεá thσ ì
disk¼ bu⌠ a⌠ leas⌠ thσ datß wil∞ g∩ wherσ intendeΣ anΣ no⌠ destro∙ thσ res⌠ ì
oµ thσ disδ contents.
An∙ enquiries, suggested improvements etc.,
leavσ ß messagσ oε MBU╟ bulletiε boarΣ fo≥;á SIMO╬ GERRATY.