Welcome, Guest. Please login or register.


Author Topic: IS-DOS és CP/M (Read 15504 times)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
IS-DOS és CP/M
« on: 2014.June.28. 00:02:36 »
Eppen CP/M-et tanulmanyozok, es rajottem, hogy valamit nem ertek (nem csak ezt, de most maradjunk a temanal). Amennyire en tudom/latom, a CP/M EP-n egyet jelent az IS-DOS-al. Azonban kozelebbrol megvizsgalva az IS-DOS nem igazan tunik eredeti CP/M-nek. Akkor viszont mi? Az Intelligent Software altal nullarol irt de valamennyire CP/M kompatibilis OS, vagy a Digital Research erdeti CP/M-hez volt engedelyuk modositani? Amugy irtam egy egyszeru CP/M programot, IS-DOS alatt 2.2-es CP/M verziot allit magarol az IS-DOS.

Miert gondolom, hogy nem "eredeti" CP/M az IS-DOS? Pl azert mert annak a disk formatuma nem kompatibilis az MS-DOS-szal, amit viszont az EXDOS hasznal, es amit IS-DOS is tud, illetve IS-DOS alol elerhetoek EXOS parancsok, ami sima CP/M CCP-jevel szerintem nem mehetne. A CP/M nagyreszt ugye all a BDOS illetve a BIOS nevu reszbol. A lenyege pont az lenne, hogy a BDOS platformfuggetlen, elvileg barmilyen Z80-as (jobban mondva 8080 is eleg ...) gepre atviheto es megy, a hw kozeli reszek lekezelese a BIOS feladata ami viszont mar platformfuggo, azt szoktak CP/M portolasnal uj gepre irni, a BDOS-t bekeben hagyjak.

Na itt jon a bokkeno: a CP/M disk formatum kezelese viszont a BDOS-ban van! BIOS-ban mar csak olyan van, hogy sector olvasas stb. Tehat az IS-DOS nem tartalmazhatja az "eredeti" BDOS-t, hanem igen erosen modositott verzio kell (vagy nullarol irt amde BDOS API-val kompatibilis uj implementacio), azaz nem az "eredeti" CP/M.

Ja, meg arrol nem is beszelve, hogy nekem ugy remlik, hogy CPM2.2-ben meg konyvtar-szerkezet fogalma sem volt :)

Tud valaki errol a temarol reszleteket?
« Last Edit: 2014.June.28. 00:21:22 by lgb »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: IS-DOS és CP/M
« Reply #1 on: 2014.June.28. 10:40:53 »
Szerintem ez egy saját CP/M kompatibilis rendszer. Sőt a leírás alapján MSX-DOS kompatibilis is.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: IS-DOS és CP/M
« Reply #2 on: 2014.June.29. 16:27:57 »
Ha valakit erdekel, megprobalkoztam azzal, hogy az "erdeti" CP/M 2.2 BDOS-ahoz irjak egy EP128 BIOS-t es igy fusson EP-n, csak hogy jobban megertsem a CP/M mukodeset. Az elozetes eredmeny lathato a csatolt zip-ben, az epcpm maga a program (ez tartalmazza az eredeti BDOS-t, az altalam irt CP/M CBIOS-t EP-hez, es a loader-t ami szepen mindent a helyere tesz, stb), a diskimage nevut pedig CPMDISK.IMG neven az F: meghajtora kell tenni (ez most csak lustasag miatt van igy bedrotozva). Azert kell disk image, mert a CP/M lemezkezelese tok mas mint az MS-DOS/EXDOS tehat azt kozvetlenul nem tudna olvasni.

Persze, tul sokra nem szabad szamitani, az IS-DOS nagysagrendekkel jobb mint az eredeti CP/M ugye :) Bug is van benne egy rakas, neha nekem fagy az egesz, es a terminal kezeles is csapnivalo, pl visszatorolni sem lehet igazan ... Oszinten, az egesz project csak arra jo, hogy CP/M-be kicsit beleassam magam, mivel kell nekem mas (nem EP128-s) project-hez, hogy megertsem a mukodeset valamennyire legalabb.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: IS-DOS és CP/M
« Reply #3 on: 2014.June.30. 22:53:59 »
MICROTEAM csinált már hasonlót :-)
[ Guests cannot view attachments ]

Mondjuk nem tudom milyen praktikus értelme van :oops: , azonkívül hogy ugyanaz a CP/M tud futni, mint amit Spectrumra is csináltak.
Viszont EP-s rendszerrel nem látok kommunikációs lehetőséget, DOS lemezt nem olvas, a CP/M-től meg még le is fagy az EXDOS egy bug miatt, 1024 bájtos szektorok túlcsordulnak az 512 bájtos pufferből...

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: IS-DOS és CP/M
« Reply #4 on: 2014.July.01. 09:31:55 »
Quote from: Zozosoft
MICROTEAM csinált már hasonlót :-)

Ahhh. na mind1, en ugy se a hasznalhatosag kedveert probalkoztam vele, mint irtam :)

Quote
Mondjuk nem tudom milyen praktikus értelme van :oops: , azonkívül hogy ugyanaz a CP/M tud futni, mint amit Spectrumra is csináltak.
Viszont EP-s rendszerrel nem látok kommunikációs lehetőséget, DOS lemezt nem olvas, a CP/M-től meg még le is fagy az EXDOS egy bug miatt, 1024 bájtos szektorok túlcsordulnak az 512 bájtos pufferből...

Sok ertelme nincs, max ha valakinek kompatibilitasi gondja akad az IS-DOS-szal, mivel az nem "eredeti" CP/M, lehet azert ilyen jellegu problema, ahogy Bruce is irta, ha jol emlekszem. Amugy elvileg az eredeti BDOS modositasa nelkul is lehetne csunya trukkel olvashatova tenni kvazi pl EXDOS altal hasznalt diskeket ("virtualisan", on-the-fly CP/M szektor szamokat "sorsolni", plusz a directory teruletet szimulalni, stb), de nyilvan ez sokkal de sokkal rondabb meg igy is, mint az IS-DOS, es ettol tovabbra sem lesznek konyvtarak, mivel az CP/M 2.2-ben nem volt ;) CP/M3 mas tema. de bonyolultabb is. Mar amennyire en most jelenleg ertek a CP/M-hez :) Most eppen egy Linux alatt futo CP/M-em lett, ott is megoldottam a dolgot (persze ehhez ott kellett egy software Z80/8080 emulator is, ami nyilvan EP eseteben nem kell).

A masik gond a CP/M-el: ahhoz kepest, hogy sajat filernedszere van, megse tudod CP/M-es gepek kozott cipelgetni, mert mindegyik mas :( Marmint sav/szektor szamok, mindenfele logikai szektor eltoltas, stb, szo szerint tobb szaz kulonbozo van.

No meg, azt se felejtsuk el, hogy az EXOS/EXDOS szerintem sokkal szebb es modernebb API mint ami CP/M-nel van. A CP/M elonye viszont az lehet, hogy Z80 (vagy 8080) alapu gepeknel adott egy csomo software, ami igy hasznalhatova valik az adott gepen (igaz EP-nel ez kevesbe szempont, mert az IS-DOS-al - gondolom - legtobb reszuk megy).

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: IS-DOS és CP/M
« Reply #5 on: 2014.July.01. 09:42:56 »
Quote from: lgb
A masik gond a CP/M-el: ahhoz kepest, hogy sajat filernedszere van, megse tudod CP/M-es gepek kozott cipelgetni, mert mindegyik mas :( Marmint sav/szektor szamok, mindenfele logikai szektor eltoltas, stb, szo szerint tobb szaz kulonbozo van.
Én a TVC-s UPM-et nézegettem, úgy láttam, hogy a lemezre csak úgy be vannak hányva az adatok, magán a lemezen semmi infó nincs, hogy mi hol merre... ez így van a többi CP/M-ben is?


Quote
igaz EP-nel ez kevesbe szempont, mert az IS-DOS-al - gondolom - legtobb reszuk megy
[/quote]
Én nem találkoztam olyan programmal ami ne ment volna. De Lacika többet nézett végig, ő talán.

Az izgatott egy kicsit mindig, hogy mi az, hogy nekünk csak 2.2-es rendszer van, amikor van már 3-as is :-)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: IS-DOS és CP/M
« Reply #6 on: 2014.July.01. 11:57:31 »
Quote from: Zozosoft
Én a TVC-s UPM-et nézegettem, úgy láttam, hogy a lemezre csak úgy be vannak hányva az adatok, magán a lemezen semmi infó nincs, hogy mi hol merre... ez így van a többi CP/M-ben is?

Hat ezt nem tudom, hogy erted. Amennyire tudom (bar CP/M lemezkezeleseben guru nem vagyok, az a diskimage amit hasznalok nem az en munkam, igy szereztem "keszen" egy image file-kent csak hasznalom, es amug az mbasic.com szerintem hibas is rajta, ugy tunik) a CP/M lemezkezelese ugy mux, hogy van egy konyvtar terulet, ahol lehet Xdb file bejegyzes max (pl 64), alkonyvtarak stb nincsenek. Az emlitett bejegyzesben van nyilvan a file neve (8+3 szokasos), meg par fura dolog (pl az, hogy 7 biten van tarolva a filenev, es a legfelso - nem hasznalt - bitek jelentenek valamit, pl hogy hidden/system/stb, ezek mellett a CP/M tamogat tobb "usert" szammal azonositva, es lehet kozottuk valtogatni, egy adott user a saja file-ait latja, bar mondjuk tul sok vedelem nincs persze, USER paranccsal lehet valtani), de ami a lenyeg: maga az emlitett konyvtar bejegyzes tartalmazza a szaktorokat is, ahol a file elterul szepen sorban (azaz nincs kulon FAT vagy hasonlo struktura). Ez azzal is jar, hogy 16K-nal nagyobb file mar trukkos (hogy oszinte legyek, meg nem mondom miert pont 16K-nal, elvileg nincs is annyi byte se az emlitett bejegyzesben h arra eleg legyen, de most inkabb az elvet magyaraznam csak), az ugy mux, hogy un extent-et hasznal, azaz egy plusz directory bejegyzest foglal le ehhez, es ott sorolja fel. Illetve a CP/M 2 kornyeken fixen 128 byte egy sector, de ha jol tudom, 3-asnal mar allithato, hogy nagyobb szektormeretben ertendoek ezek az adatok (hasonloan a FAT cluster fogalmahoz, ha szabad pongyolan fogalmazni). Szoval azert latszik rajta, hogy a CP/M nem mai technika, lehet, regen a 16K soknak tunt :D Eredeti CP/M alatt (IS-DOS passz, hogy mit csinal erre) kiadhatod pl a STAT *.* parancsot, akkor mutatja, hogy melyik file mit foglal. Illetve hasznos parancs meg pl: STAT VAL: vagy a STAT DSK:

Ezek mellett meg szokott lenni fenntartott track a disk elejen, ami "nem resze" az FS-nek, onnan szokott pl CP/M bootolni.

Ennel sokkal tobbet a CP/M lemezkezeleserol jelen pillanatban (meg ...) nem tudok :) Az erdeti CP/M BDOS-t konnyu portolni anelkul, hogy ismerned a filerendszeret, mivel az a BDOS-ban van, ami az adott gep hw szintu fuggosege, az mind a CBIOS-ban van kulon, amit neked kell megirni, ha portolni akarod valamire a CP/M-et. A CBIOS-ban meg marcsak olyan van pl, hogy szektor olvasas, iras, track/sector szam beallitas. Illetve meg egy dolog van CBIOS-ban: vissza kell adnod BDOS-nak egy tablazat kezdocimet, amiben egy rakas parameter van (pl track-ek szama, meg ilyenek). Ezek alapjan mindent a BDOS csinal. Ezert nehezkes, hogy CP/M-el mondjuk egy FAT filerendszert olvass, mert ahhoz a BDOS-t kene ujrairni (plusz a low level Cp/M util-ok persze nem fognak mukodni ezek utan, de ez kevesbe fontos imho, ha massal tudsz formatalni stb CP/M-en kivul), gondolom ezt csinaltak pont az IS-DOS kapcsan a fejlesztok. Amugy ahogy latod, a CP/M filozofiajahoz hasonlo azert az EXDOS is: pl amikor SD kartya vagy IDE hdd illesztot csinalsz, eleg az egyszeru block orientalt I/O-t megirnod, maga a filerendszer mar az EXDOS-ban van lekezelve, az max egyszeru muveletekre hivogatja a te cuccod aztan. EXDOS-t se lenne konnyu megtanitani (ahogy CP/M-et sem) mas filerendszer kezelesere, mint amire terveztek, meg a FAT16 is trukkos ezek szerint :) arrol nem is beszelve, ha vmi tok alien fs-t szeretnel :)

Bar pl az is mindig erdekelt, hogy az EXDOS-ban nem modularis-e az FS kezeles, azaz nincs-e olyan felulete (vagy ez lenne a FISH?) hogy open file, close file, seek file, stb, es igy elvileg azokat a belepesi pontokat "lenyulva" lehetne olyasn disk-et irni/olvasni ami egyaltalan nem FAT formatumu (ez erdekes lehetne pl az amugy jelenleg felbehagyott JSEP projectemnel, hogy EXDOS ne disk image-t lasson, hanem pl egy FTP konyvtar tartalmat file-onkent marmint, de mint disk-kent gondolkodjon rola valahogy, pl a H: meghajtora egy utillal azt mondani hogy az valojaban az ftp.akarmi.hu-n levo ftp-s tarhely tartalma, ez persze csak egy pelda volt).

Quote
Az izgatott egy kicsit mindig, hogy mi az, hogy nekünk csak 2.2-es rendszer van, amikor van már 3-as is :-)

Az IS-DOS lehet, hogy CP/M 2.2-vel kompatibilis ugymond, de valojaban pl latsz konyvtarakat stb, erzesem szerint nem nyernel sokat egy CP/M 3-assal sem, mert az IS-DOS amugy is combos kis darab :)

Aztan bocsanat am, tevedhetek is jelen hozzaszolasaim kapcsan, mivel 1-2 napja foglalkozok csak CP/M-el, konkretan a hetvege ota :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: IS-DOS és CP/M
« Reply #7 on: 2014.July.01. 12:36:56 »
Quote from: lgb
Hat ezt nem tudom, hogy erted.
Úgy, hogy semmilyen adat nincs rajta ami alapján meg lehetne állapítani, hogy ez UPM lemez, ill, hogy 1 vagy 2 oldalas, 40 vagy 80 sávos, meg ilyenek...
Ebből következik, hogy az UPM se tudhatja ellenőrizni, hogy az a ő lemeze...

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: IS-DOS és CP/M
« Reply #8 on: 2014.July.01. 12:47:34 »
Quote from: Zozosoft
Úgy, hogy semmilyen adat nincs rajta ami alapján meg lehetne állapítani, hogy ez UPM lemez, ill, hogy 1 vagy 2 oldalas, 40 vagy 80 sávos, meg ilyenek...
Ebből következik, hogy az UPM se tudhatja ellenőrizni, hogy az a ő lemeze...

Hmm, ezt nem tudom, de en arra tippelek, hogy a CP/M nem is feltetlen tarolja lemezen annak "geometriajat" hanem a CP/M-be van beledrotozva, hogy azon a rendszeren o hogy akarja hasznalni. Raadasul sajnos ez baromira valtozik CP/M es CP/M kozott (ahany hw azaz CBIOS annyifele "fizikai" formatum), igy igazabol egy CP/M disk-et nem is lehet igazan atvinni egy masik CP/M-es gepre :( Van lunux ala egy cpmtools nevu cucc amivel CP/M diskeket lehet kezelgetni, csak ott 32db formatum van, es neked kell beallitani, melyiket akarod hasznalni pontosan ... Persze, tevedhetek is, illetve pl CP/M2 es 3 is elegge elter, 3-asban lehet, ez mar maskepp van megoldva, nem tudom.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: IS-DOS és CP/M
« Reply #9 on: 2014.July.01. 13:10:40 »
Quote from: lgb
Hmm, ezt nem tudom, de en arra tippelek, hogy a CP/M nem is feltetlen tarolja lemezen annak "geometriajat" hanem a CP/M-be van beledrotozva, hogy azon a rendszeren o hogy akarja hasznalni.
Na erre írtam ezt: "a lemezre csak úgy be vannak hányva az adatok, magán a lemezen semmi infó nincs, hogy mi hol merre" :-)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: IS-DOS és CP/M
« Reply #10 on: 2014.July.01. 13:35:01 »
Quote from: Zozosoft
Na erre írtam ezt: "a lemezre csak úgy be vannak hányva az adatok, magán a lemezen semmi infó nincs, hogy mi hol merre" :-)

Jol van na, nem vagyok hulye, csak nehez a felfogasom :) [ez elozo mondat vicc akart lenni, mielott vki felreerti - bar a human interakciokon alapulo felfogadi kepessegem tenyleg nem tul magas imho ...] Azt hittem ugy erted, hogy nem erted, hogy pl FAT nelkul honnan tudja hol vannak az adott file "darabjai" vagy hasonlo, most mar ertem, bocsi! :)
« Last Edit: 2014.July.01. 15:13:36 by lgb »

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: IS-DOS és CP/M
« Reply #11 on: 2014.July.01. 21:16:41 »
Most talaltam:

http://www.seasip.demon.co.uk/Cpm/formats.html

itt is azt irjak, hogy sajna disk-en nincs tarolva igazan CP/M eseten, hogy ki fia borja ez a disk, max csak nehany gepen oldottak meg rendesen, de sajna nem jellemzo.

Online Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: IS-DOS és CP/M
« Reply #12 on: 2014.July.01. 22:24:18 »
Quote from: Zozosoft
Én nem találkoztam olyan programmal ami ne ment volna. De Lacika többet nézett végig, ő talán.
Elvileg minden program fut, viszont a különböző CP/M-kompatibilis gépeken más-más vezérlőkódokkal működik a képernyőkezelés. Ezért azon programok, melyeket nem lehet egyedileg bekonfigurálni, kusza képernyőn értelmezhetetlen katyvaszt jelenítenek meg.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: IS-DOS és CP/M
« Reply #13 on: 2014.July.01. 22:35:40 »
Egyébként ez a könyv meg van nekem, valaki ráérő beszkennelhetné :oops:

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: IS-DOS és CP/M
« Reply #14 on: 2014.July.02. 00:18:36 »
Here I've found some CP/M manuals.