OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 20:50

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 18 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
PříspěvekNapsal: 19.01.2022, 10:52 
Offline
Prvnička

Registrován: 08.01.2016, 09:45
Příspěvky: 16
Has thanked: 4 times
Been thanked: 9 times
Dobrý den,

chtěl bych se zeptat, jestli někdo povolaný netuší, z jakého důvodu umožňuje CP/M 1.4 použít RAMdisk jen do velikosti 512kB (jak je psáno na scavu a jak zobrazuje i SETUP.COM v1.1 v CP/M 1.4) a jestli je to čistě "historické" omezení - tj. že v té době nikdo nic většího neměl - nebo to je něco fundamentálního, přes co nejede vlak. Mám 1MB standardní zálohovaný RAMdisk, ale FDD řadič jen repliku sharpáckého originálu, tj. DD, a tím pádem nemůžu na reálném železe (tj. bez Unikarty) běhat HD verzi CP/M, kde tenhle problém odpadá.

Na scavu v pojednání o CP/M v sekci "Formát záznamu na disketových mechanikách" se píše:

Logické parametry CP/M RAM disku:
Kapacita disku: nastavitelná v rozmezí 0 až 512 KB po 16 KB
Počet stop: 0 až 16 podle kapacity
Počet sektorů na stopě: 256
Velikost adresáře: 4 KB
Max. počet souborů na disku: 128
Velikost alokačního bloku: 2 KB
Počet systémových stop: 0

a v sekci "Základní programové příslušenství" je uvedeno, že velikost RAMdisku je na adrese
EA3FH 0-32, velikost RAMdisku v jednotkách 16 KB

To vypadá, že by mohlo stačit trochu "poštelovat" definiční tabulky disků v BIOSu (třeba zdvojnásobit počet stop nebo velikost alokačního bloku), nebo se pletu? Neměl byste někdo zdroják k SETUPu v. 1.1 - pry je celý napsaný v Turbo Pascalu :-)

Předem děkuju za jakékoli postřehy a zdravím,
Michal

PS Ještě bych měl jednu historickou otázku týkající se existujících verzí CP/M (Lamačova) - jestli se nepletu, v repozitáři jsou k mání v. 1.4 (DD) a 4.1 (HD), návod na scavu je ale pro verzi 2.2 - chápu to správně, že 1.4 a 4.1 jsou různé implementace "standardního" CP/M 2.2? Existují ještě nějaké další verze mezi 1.4 a 4.1?


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 11:40 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 14.05.2013, 19:10
Příspěvky: 1486
Bydliště: Kurim
Has thanked: 828 times
Been thanked: 577 times
Podle mně všechny CP/M jsou verze 2.2, včetně originál SHARP verze. Resp. různě upravené. Ty verze 1.4 a 4.1 jsou jen označení verze dané implementace, ne verze CP/M. Ta konec konců skončila na v3, pokud se nepletu. Upravit by tabulky možná šlo, ale to chce vyzkoušet, taky můžeme natvrdo napsaný kód obsluhy RD. Po zdrojácích k CP/M jsem se pídíl, ale kompletně jsem je nikdy do kupy nedal, abych si mohl přeložit případně upravit CP/M podle vlastních představ. Něco má @radeksuk k jeho verzi CP/M, ale zdrojáky tutlá.

_________________
http://www.8bity.cz


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 12:37 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Existuji tyto verze:
1) CP/M primo od firmy Sharp
2) Lamac
3) muj MZDOS
4) upraveny Lamac pro HD diskety

Osobne jsem hodne vyuzival Lamace. Mel jsem zalohovany 1MB ramdisk. Proto jsem si udelal http://www.mz-800.scav.cz/sharp_mz-800/ ... ad_DSK.htm program NEWBOOT.COM . To jen upravovalo cp/m aby to najelo primo z E disku. Vynechalo to uplne FDD. To melo tu vyhodu ze jsem mohl delat reset a porad se to dalo spustit bez FDD. Take nebyl problem vzit jen "domecek" a jet do Mostu na klub a tam to dat ho holeho pocitace a po zapnuti to najelo.

Samozrejme mne zajimalo jak je napsan bios. Originalni bios ma v sobe tu vlastnost ze nejde znovu prelozit. Blokuje to jedna rutinka. Nevim zda to bylo tak umyslne naprogramovane ale je to tam. To se musi upravit a pak i originalni cpm od Lamace lze znova po doplneni o nove veci prelozit.

Protoze jsem hodne delal v cp/m a ta mi pripadala pomala, tak jsem si udelal svuj bios a soucasne jsem si doma postavil HD radic. Vyresil jsem problem s rychlosti prenosu. Kontaktoval mne pan ZEMEK z CB zda by se to nedalo prodavat. Tak jsem to prejmenoval na MZDOS. Jiny clovek delal windows knihovnu (toho jsem nezal). Dalsi clovek s kterym jsem si psal byl programator z Liberce, ten delal ten souborovy manazer v C jazyku. Ja jsem v te dobe mel svuj manazer napsany v Turbo Pascalu. Moje cp/m umela spojit zalohovany ramdisk a pezik ramdisk (jine porty) a tak celkem to bylo 1,5MB. To byla optimalni velikost na kopirovani HD disket. Muj system se vali 10 let zde http://www.radeksuk.cz/sharp/mzdos%20v1 ... st2011.dsk

Jinak obecne je problem s velkym diskem. To zabira velkem misto v bios tabulce. Neni to zadna sranda vsechny parametry nastavit.

Osobne neplanuji v MZDOS delat nejake upravy. To bych radeji udelal uplne novou cp/m. Bohuzel si stale pamatuji jaky je to zrout casu.


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 13:06 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 12.05.2013, 21:39
Příspěvky: 1970
Bydliště: Praha
Has thanked: 85 times
Been thanked: 255 times
Max velikost disku v CP/M je 8MB, ne ?


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 15:48 
Offline
Pan Štábní

Registrován: 11.11.2013, 10:29
Příspěvky: 1198
Has thanked: 360 times
Been thanked: 304 times
To omezeni delky vetsinou vychazelo jen z toho, ze nikdo v te dobe nemel vetsi ramdisk nez 1MB. Co si pamatuji, tak Lamacovo CP/M tuto velikost zadavalo pres program do BIOSu na disku. Programek se jmenuje 'S E T U P Version 1.2'. A snad nekde budou jeho zdrojaky, byl v Turbo Pascalu. V samotnem BIOSu je velikost disku dana pouze tim, jaky rozsah se da ulozit do jednotlivych bytu tabulky. Jak uz tu zaznelo, to by melo byt max 8MB, ale strankovaci port pro ramdisk umi naadresovat az 16MB.
Jeste jsem si vzpomnel, ze v emulatoru jede Lamacova CP/M urcite i s 1MB ramdiskem a plnou kapacitou. A take by slo vyzkousel, jestli to zvladne tech 8MB.
Mit k dispozici zdrojaky teto CP/M uz jsem chtel dlouho, ale... Treba by se to mohlo dat dohromady i s vyzkousenim prekladu na TM.

_________________
Sharp MZ-800++, MZ-1500++, MZ-2500++, SM-B-80T, MK-14_replica, HP-85, ZX-80+replica, ZX81, ZX-Spectrum+replica++, PMI-80+replica, SAM coupe++, PMD-85-2A+3, Didaktik-M, SORD-M5, TI-57, TI-59+PC-100, TI99/4A, ZetaV2+ppp, ZX-uno, Petr


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 15:58 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Doda píše:
Max velikost disku v CP/M je 8MB, ne ?


To je pravda a dokonce tech disku muzes mit az 16. Ale pri tak velkem disku musis udelat BLS 16384. To znamena ze i zapsani jednoho znaku do souboru okamzite zaberes 16KB dat na disku. Alokacni vektor bude mit 64 bajtu. Tech jeste musis mit pripadne az 16! Takze kdyz mas jen cca treba 7KB pro Bios, kam musis i dat generator znaku tak opravdu moc volneho mista tam nemas. Proste je to neustaly zapas o kazdy bajt. Kdyz budes moc primapovat nejakou pamet, tak okamzite se vse zlepsi.


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 16:06 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 12.05.2013, 21:39
Příspěvky: 1970
Bydliště: Praha
Has thanked: 85 times
Been thanked: 255 times
suksoft píše:
Doda píše:
Max velikost disku v CP/M je 8MB, ne ?


To je pravda a dokonce tech disku muzes mit az 16. Ale pri tak velkem disku musis udelat BLS 16384. To znamena ze i zapsani jednoho znaku do souboru okamzite zaberes 16KB dat na disku. Alokacni vektor bude mit 64 bajtu. Tech jeste musis mit pripadne az 16! Takze kdyz mas jen cca treba 7KB pro Bios, kam musis i dat generator znaku tak opravdu moc volneho mista tam nemas. Proste je to neustaly zapas o kazdy bajt. Kdyz budes moc primapovat nejakou pamet, tak okamzite se vse zlepsi.


Tak ja jsem ani nemyslel system pro 64kB, ale spis pripad jako tenhle, kdyz muzu mit velky RAMdisk a mam tedy dostatek dalsi pameti.

Proc by jsi mel jen 7kB pro BIOS? Nemyslim ze ma plytvat, ale tohle snad neni nejak dramaticky omezene.


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 16:32 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Kdyz by se udelala cpm presne pro jeden typ ramdisku, coz je mozne, tak rada veci co se nepouziva casto jako je generator znaku muze byt ulozena na ramdisku. Ale ruzne systemove tabulky musi (MUST BE) byt v ramce, muzou je vyuzivat externi programy. Jinak je vhodne nechat adresu bios nastavenou stejne jako to ma Lamac, duvod je ten, ze v opacnem pripade okamzite prestanou fungovat rada veci, hlavne programy co nekdo udelal v Turbo Pascalu. Vse by se muselo znova prelozit.

Pro ramdisk do 2MB a dve floppy mechaniky se vzdy najde misto v biosu. Jen se to nesmi kombinovat s necim dalsim. Proste clovek nesmi byt nenasytny.


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 18:23 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 12.05.2013, 21:39
Příspěvky: 1970
Bydliště: Praha
Has thanked: 85 times
Been thanked: 255 times
suksoft píše:
Jinak je vhodne nechat adresu bios nastavenou stejne jako to ma Lamac, duvod je ten, ze v opacnem pripade okamzite prestanou fungovat rada veci, hlavne programy co nekdo udelal v Turbo Pascalu. Vse by se muselo znova prelozit.


Ja myslel ze CP/M je zalozeno prave na tom, ze na drese 0 a 5 je ulozena adresa modulu BIOS a BDOS, pres ktere se volaji sluzby a neni to pak zavisle na konkretnim umisteni modulu v pameti. Coz je vubec zaklad operacniho systemu.

Proc programy v Turbopascalu, nebo jine, prestanou fungovat pri zmene tech adres? Turbopascal pouziva prima volani a preklada tak nesystemove?


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 19:07 
Offline
Pan Štábní

Registrován: 11.11.2013, 10:29
Příspěvky: 1198
Has thanked: 360 times
Been thanked: 304 times
IMHO je to mysleno tak, ze tabulky disku jsou na specifickych adresach, kde je prekladac BIOSu ulozil. To, ze ma nekdo napsany program, ktery do nich hrabe znamena, ze musi taky vedet, kde jsou a nejde to pouzit pro jiny BIOS. Ten Turbo Pascal je v tom nevinne ;-) ten je napsany dobre a pouziva vse korektne.
To, ze CP/M nema/neumoznuje zvenku odkazovat do tech tabulek ma sve duvody. Myslim, ze nejen historicke, ale i prakticke a koncepcni.

_________________
Sharp MZ-800++, MZ-1500++, MZ-2500++, SM-B-80T, MK-14_replica, HP-85, ZX-80+replica, ZX81, ZX-Spectrum+replica++, PMI-80+replica, SAM coupe++, PMD-85-2A+3, Didaktik-M, SORD-M5, TI-57, TI-59+PC-100, TI99/4A, ZetaV2+ppp, ZX-uno, Petr


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 19:47 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 12.05.2013, 21:39
Příspěvky: 1970
Bydliště: Praha
Has thanked: 85 times
Been thanked: 255 times
To je mi jasne, ale o to vic nechapu, proc se musi, nebo je lepsi, v tomhle pripade zachovat velikost a pozice modulu BDOS a CCP kvuli Turbopascalu obecne. Ze jsou nesystemove napsane programy ktere pak nefunguji chapu taky, ale ze by to byl casty jev se mi nezda.


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 19:52 
Offline
Prvnička

Registrován: 08.01.2016, 09:45
Příspěvky: 16
Has thanked: 4 times
Been thanked: 9 times
suksoft píše:
Existuji tyto verze:
1) CP/M primo od firmy Sharp
2) Lamac
3) muj MZDOS
4) upraveny Lamac pro HD diskety

Osobne jsem hodne vyuzival Lamace. Mel jsem zalohovany 1MB ramdisk. Proto jsem si udelal http://www.mz-800.scav.cz/sharp_mz-800/ ... ad_DSK.htm program NEWBOOT.COM . To jen upravovalo cp/m aby to najelo primo z E disku. Vynechalo to uplne FDD. To melo tu vyhodu ze jsem mohl delat reset a porad se to dalo spustit bez FDD. Take nebyl problem vzit jen "domecek" a jet do Mostu na klub a tam to dat ho holeho pocitace a po zapnuti to najelo.

Samozrejme mne zajimalo jak je napsan bios. Originalni bios ma v sobe tu vlastnost ze nejde znovu prelozit. Blokuje to jedna rutinka. Nevim zda to bylo tak umyslne naprogramovane ale je to tam. To se musi upravit a pak i originalni cpm od Lamace lze znova po doplneni o nove veci prelozit.

Protoze jsem hodne delal v cp/m a ta mi pripadala pomala, tak jsem si udelal svuj bios a soucasne jsem si doma postavil HD radic. Vyresil jsem problem s rychlosti prenosu. Kontaktoval mne pan ZEMEK z CB zda by se to nedalo prodavat. Tak jsem to prejmenoval na MZDOS. Jiny clovek delal windows knihovnu (toho jsem nezal). Dalsi clovek s kterym jsem si psal byl programator z Liberce, ten delal ten souborovy manazer v C jazyku. Ja jsem v te dobe mel svuj manazer napsany v Turbo Pascalu. Moje cp/m umela spojit zalohovany ramdisk a pezik ramdisk (jine porty) a tak celkem to bylo 1,5MB. To byla optimalni velikost na kopirovani HD disket. Muj system se vali 10 let zde http://www.radeksuk.cz/sharp/mzdos%20v1 ... st2011.dsk

Jinak obecne je problem s velkym diskem. To zabira velkem misto v bios tabulce. Neni to zadna sranda vsechny parametry nastavit.

Osobne neplanuji v MZDOS delat nejake upravy. To bych radeji udelal uplne novou cp/m. Bohuzel si stale pamatuji jaky je to zrout casu.


Vřelé díky za přehled verzí CP/M. Zjistil jsem, že na scavu existuje i dsk soubor s verzí CP/M 2.3, která omezení velikosti RAMdisku na 512kB (jako ve verzi 1.4) nemá.

Zaujala mě zmiňovaná možnost startovat CP/M z RAMdisku prostřednictvím programu NEWBOOT.COM - rozumím tomu správně, že se ke startu v takovém případě používá příkaz EB z monitoru, tj. loader CP/M je ve SRAM, na níž monitor při bootu přistupuje přes porty F8-FA, a ten natahuje BIOS atd. z určité části RAM disku (na portech - pro zálohovaný - E8-EB)? Zkoušel jsem NEWBOOT.COM spouštět v CP/M všech verzí, tj. 1.4, 2.3 i 4.1 (HD verzi ovšem jen v emulatoru), procedura ale vždycky zatuhnula při finálním zápisu "patchnutého" systému na disketu s hlášením "Je nutno mít uvolněn zápis na disketu !" (a není to tím, že by ta disketa byla fyzicky chráněná proti zápisu :-) ). Nenapadá vás, co dělám špatně?


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 20:04 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
suksoft píše:
Kdyz by se udelala cpm presne pro jeden typ ramdisku, coz je mozne, tak rada veci co se nepouziva casto jako je generator znaku muze byt ulozena na ramdisku. Ale ruzne systemove tabulky musi (MUST BE) byt v ramce, muzou je vyuzivat externi programy. Jinak je vhodne nechat adresu bios nastavenou stejne jako to ma Lamac, duvod je ten, ze v opacnem pripade okamzite prestanou fungovat rada veci, hlavne programy co nekdo udelal v Turbo Pascalu. Vse by se muselo znova prelozit.

Pro ramdisk do 2MB a dve floppy mechaniky se vzdy najde misto v biosu. Jen se to nesmi kombinovat s necim dalsim. Proste clovek nesmi byt nenasytny.

Síce idem mierne mimo tému, ale neuvažoval niekto urobiť CP/M tak, že povedzme by pracoval s RD v rozsahu 1-2 MB a tým pádom by neprepisoval RD používaný BASICom? Samozrejme, rozsah môže byť iný, uvádzam len príklad. Ide o to, že CP/M s RD vie pracovať relatívne dobre, ale BASIC len s prvými 64 KiB. Marí sa mi, že existuje nejaká implementácia na prepínanie stránok RD alebo to bolo len cez tie jednoduché OUTy? (Asi.) a preto by CP/M nerobil s RD už za prvými 64 KiB.

Mimochodom, ak sa niekomu nepáči používanie predpony Ki, majte na pamäti, že je to tak aspoň prehľadnejšie. Viem, že sú ľudia, čo by za použitie takejto predpony "vraždili", tak preto táto poznámka. Pred rokmi som videl ako sa za to strašne na jednom fóre vadili.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 21:59 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Doda píše:

Ja myslel ze CP/M je zalozeno prave na tom, ze na drese 0 a 5 je ulozena adresa modulu BIOS a BDOS, pres ktere se volaji sluzby a neni to pak zavisle na konkretnim umisteni modulu v pameti. Coz je vubec zaklad operacniho systemu.

Proc programy v Turbopascalu, nebo jine, prestanou fungovat pri zmene tech adres? Turbopascal pouziva prima volani a preklada tak nesystemove?


Turbo Pascal pri prekladu do com nastavuje zasobnik. Kdyz je mensi bios tak samozrejme neni problem. Naopak ale napise ze nema prostor pro zavedeni com programu. Kdyz umyslne zmenis misto bdosu, tak to prelozis ze to funguje i na strojich kde je vetsi bios ale vezme ti to volnou pamet pro vlastni program. Kdyz delas neco vetsiho nebo potrebujes nejake buffery tak to muze byt problem.


Nahoru
 Profil  
 
PříspěvekNapsal: 19.01.2022, 22:07 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2723
Has thanked: 144 times
Been thanked: 422 times
Michal_m urcite pouzij Lamac verze 1.4. Pripada mi to ze mas nejak v emulatoru zajistenou disketu proti zapisu.

Milsa klidne pouzivej KiB, podle mne to nikomu nevadi. Spise by jsi ale mel soucasne pouzivat vsechny jednotky stejne a tak by jsi mel radeji napsat "1-2 MiB" :lol: .


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 18 ]  Přejít na stránku 1, 2  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 3 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz