- A hozzászóláshoz be kell jelentkezni
- 929 megtekintés
Hozzászólások
Érdekes, hogy még 20+ évek után is lehetnek ilyen homályos kérdések, amik tisztázásra várnak. Jó látni, hogy a DRDOS elnöke ennyire együttműködő. Bár, a mai open source világban inkább már az lenne furcsa, ha nem lenne.
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Úgy emlékszem, hogy a DOS apiban nem kevés CP/M-ből átvett dolog van/volt (pl talán device drivers technológia).
Érdekes lenne látni, hogy mennyi és milyen jellegű bevétele (licenszek?) van még ilyesmiből.
- A hozzászóláshoz be kell jelentkezni
Ask Bill [Gates] why the string in [MS-DOS] function 9 is terminated by a dollar sign. Ask him, because he can’t answer. Only I know that.
Én arra lennék kíváncsi, hogy tényleg kiknek kellhet ma a CP/M, pláne a környékünkön. Szerintem keleten nem volt nagy divat ez a CP/M, nyugaton még el tudom képzelni valami speciálisipari felhasználáshoz.
Színes vászon, színes vászon, fúj!
Kérem a Fiátot..
- A hozzászóláshoz be kell jelentkezni
Nekem annak idején jól jött, C128-on Turbo Pascal gyakorláshoz. Aztán amit ott kitaláltam és megcsináltam, már könnyen át lehetett tenni a PC-re.
- A hozzászóláshoz be kell jelentkezni
Sosem értettük haver C=128-asán mire volt jó a CP/M lemez :-D Akkoriban annyit tudtunk, hogy kell betölteni a játékokat kazettáról meg lemezről. Nemrégiben hozzám került a gép. Csak most ki van belezve, nem megy a belső lemezmeghajtó. Meg kellene már javítanom.
- A hozzászóláshoz be kell jelentkezni
Ja, mert a C128 is csak egy C64 pótlék (játékkonzol) volt a legtöbb gyereknek. Pedig igazából a Z80-as egy komolyabb platform volt az 6502-nél. Csak ugye az átlag user játszott inkább, míg CP/M-re meg komolyabb alkalmazások és fordítók voltak, csupa karakteres felületű cucc, ami grafika híján nem volt látványos.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Persze, gyerekként csak játszottunk rajta. Akkor még azt sem tudtam eszik vagy isszák. Bár volt pár felhasználói kézikönyvem a C=64-hez, abból pötyögtem be kódokat és örültem mikor futott is. Még a városi könyvtárból is vittem haza hozzá assembly könyvet, na az aztán tényleg kínai volt.
De ahogy idősebb lettem, egyre inkább megértettem ezeket a gépeket és még inkább rajongok értük. Főleg a 6502-ért! Nekem a Z80 az ellen! De ugye a 128-asban is ott csücsül, ill. van egy Schneider Joyce PCW 8256 masinám is, ami egy Amstrad klón, az is Z80-as. Az áruló! :-D
- A hozzászóláshoz be kell jelentkezni
Szinte mindenki csak játszott rajta, Így jártak egyébként a korai DOS-os gépek is, max. ilyen karakteres felületű programokkal, mint Wordstar, Wordperfect, Lotus 1-2-3, Word, Excel (akkor még DOS-ra), stb.. A nép inkább amigázott helyette (már ahol ugye nem volt vasfüggöny, meg COCOM-lista), mert annak sokkal jobb volt a grafikája, hangja, stb., annak a szintjét a PC-k csak a 486-os korszakban, a VGA-val, Adlib/SB-rel érték utol, és csak a 32 bit / Pentium / Win9x / SVGA / 3Dfx-DX korszakban haladták meg.
Ezek a régi gépek egyébként a mai napig azért vonzóak, mert egyszerűek. A 6502 és x80-as platform is. Nem volt túlbonyolítva mindenféle absztrakciós meg köztes réteggel, egy feladatos rendszerek, közvetlenül férsz hozzá mindenhez, stb.. Amit ugye lehetne x86-on is, csak túlléptük azt a komplexitást nagyon régen, és alap igény a multitasking és a mindenféle biztonsági kérdés, folt, szigorú szabályozás, hogy ki és melyik folyamat mihez férhet hozzá.
Ezért népszerűek mai napig az SBC-k, és mikrovezérlők is, az egyszerűség miatt. Van egyfajta rekreációs jellegük, ezért sokan szívesen programozzák.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
A Commodore 128-ban volt CP/M üzemmód is. Nem tudom hányan használták, de szerintem a többség csak véletlenül bootolta azt és inkább a C-64 üzemmódban használta. :)
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox
- A hozzászóláshoz be kell jelentkezni
Azt "véletlenül" bootolni nem igazán lehet. :)
Egyrészt alapból Z80-as üzemmódban kel fel, tehát mindenképpen úgy bootol, csak ha nem talál lemezt, amit felbootolhat, akkor átvált C128 üzemmódba. (És ha rá van aggatva valami C64-es cartridge, vagy beírod, hogy GO64
akkor tovább C64 üzemmódba.)
- A hozzászóláshoz be kell jelentkezni
... vagy ha boot közben nyomva tartod a commodore gombot :)
- A hozzászóláshoz be kell jelentkezni
Annak idején a fiam egyik kedvenc játéka az Impossible Mission II volt. Kicsit háklis volt a program, nézett sok mindent, pl. ha bővítőkártya volt rádugva a gépre, el se indult. Volt egy faslload nevű kártyám, azzal könnyebben behívni a lemez tartalmat illetve betölteni a programokat, azt még kikapcsolva sem szerette a gépben. Aztán megtaláltam, hogy melyik lábat kell még pluszban kikapcsolni, így nem kellett mindig kirángatni a bővítőportból, de értelemszerűen használni nem lehetett. Bekapcsolt fastload kártyával helyből C64 módban indult a gép, anélkül viszont C128-ban.
A fiamnak megtanítottam, kártya kikapcsoás, gép bekapcsolás, go64 aztán load "*",8,1 a játék betöltése és indítása. (írni, olvasni még nem tudott :)). Aztán jó pár év múlva árultam el neki, hogy mi lett volna a gyorsabb megoldás, de így legalább szokta a betűket és a billentyűzetet :)
- A hozzászóláshoz be kell jelentkezni
Az IM2-t speciel sose próbáltam a 128-ason elindítani, majd megnézem, hogy ami nekem van Action Replay v6.1, azzal se megy-e...
A legtöbb C64-es játék amúgy elindul C128-on, max. akkor van gond, ha piszkálja a $D030-as cím 0. bitjét, ott lehetett ugyanis a 8502-őnek az órajelét szabályozni és ha átkapcsolja 2 MHz-be, akkor "a képernyőn semmit nem látunk, de azt legalább kétszeres sebességgel." :)
- A hozzászóláshoz be kell jelentkezni
volt egy-két olyan tört játék, ami induláskor demot játszott, és a 6502 nem dokumentált utasításait (is) használta. Ezek viszont a 8502-n nem feltétlenül azt csinálták, mint a 6502-n, ezek is képesek voltak lefagyni. Nem sok ilyennel találkoztam, talán két-három volt. Nem maga a játék, mert volt, hogy más forrásból, más törésből ugyanazt a játékot beszereztem, és futott.
- A hozzászóláshoz be kell jelentkezni
Fura, mert az utasítások dekódolása és végrehajtása elvileg ekvivalens kellene, hogy legyen a két CPU-n. Az opkódok legalábbis azok. Csak a gyártástechnológia tért el, de annak nincs köze ahhoz, hogy egy utasítás hogy dekódolódik, vagy hajtódik végre.
- A hozzászóláshoz be kell jelentkezni
Itt le van írva első kézből, lényegében API kompatibilisek amennyiben a 8 bites utasításokat átülteted 16 bitere. Úgy látom érdemes a blog későbbi bejegyzéseit is elolvasni.
- A hozzászóláshoz be kell jelentkezni
Zsír lehet portolni mindenhova, ahol még nincs.
- A hozzászóláshoz be kell jelentkezni
Portolni szerintem ezt nem fogják. A célplatformja mindig is a 8080, Z80 volt, oda portolva van. Létezik x86-ra, de ott nem volt soha népszerű a DOS árnyékában. Ez a licenckérdés rendezése inkább arról szólt, hogy most már nyugodtan lehet terjeszteni, és nem csak arra alapozni, hogy abandonware.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Egyrészt nincs minden 8080-as/Z80-as platformra portolva. Másrészt meg simán jöhet valami őrült, aki portolja 6502-es platformokra, mert miért ne.
- A hozzászóláshoz be kell jelentkezni
Enyhén képzavar amit írsz. Talán először el kellene olvasnod mi az a CP/M. A "platform" csak annyit jelent, hogy a minimális rendszerkövetelmények megfelelő hardver. A BIOS és a BDOS gyakorlatilag betölthető, nem is kell ROM-ban lennie.
A 6502-re nem fog senki CP/M-et portolni, mert képtelenség. (A, B, C, D, E, H, L -> A, X, Y regiszterek) Eleve 8080-ra készült. A Z80, 8085, NSC800 (=8085 & Z80) és V20 (=8088 és natív 8080 mód!) "portolásra" nincs szükség, mert ezek a processzorok a 8080-hoz képest ekvivalensek, tehát bármilyen mesterkedés nélkül fut rajtuk a CP/M. A 16 bites - pl. 8086 portoláshoz elegendő egy cross-assembler, mert ugyanazok (csak kicsit szélesebb és több) a regiszterek.
A portolás helyett lehet kompatibilis rendszerről beszélni. Ilyen volt az Enterprise 128 (Z80) + IS-DOS 1.0. Ekkor a munkahelyemen DOS -> WordStar 3.40, Intel ISIS-II (as - assembler), Turbo Pascal 3.0 alatt fejlesztettem. (A WordStar volt az első cross-assemblerrel CP/M -> DOS portolt program.) Ugyanazt a munkát tudtam végezni az Enterprise-on WordStar 3.30, Turbo Pascal 3.0, Macro 80 alatt. A programok CP/M-ről kerültek oda. Később egy barátom portolta PC-re a Macro 80 csomagot is.
Ugyanezeket a programokat lehetett futtatni logikai analizátoron MP/M alatt.
- A hozzászóláshoz be kell jelentkezni
Nem, nem képzavar, csak nem érted, hogy mit mondok; van olyan Z80-as/8080-as gép, amin jelenleg nem tudod lefordítani, futtatni a forrásokat, mert nem kezeli annak a gépnek a hardware-ét (lemez, képernyő, whatever)? Van. Akkor oda portolni kell.
A képtelenség kitételt nem minősíteném. Attól, hogy kevesebb regiszter van egy CPU-ban (a 6502-esnek cserébe több címzésmódja van), attól még lehet működésben ekvivalens kódot írni.
- A hozzászóláshoz be kell jelentkezni
Főleg, hogy a 6502-n a zero page tulajdonképpen 256 regiszter.
- A hozzászóláshoz be kell jelentkezni
Mondhatjuk, de abból lejönnek azok a címek, amiket a CP/M elhasznál, meg azok is, amiket a gép (pl. C64-en a $00-$01
).
- A hozzászóláshoz be kell jelentkezni
Valóban a C=64-en nem sok üres hely van a zero page-en. Annyira nem ástam bele magam, gondolom nagy részét a basic interpreter használja. De szerintem annyit lehetne találni, hogy a Z80 regiszter számát elérjük.
Mindenesetre érdekes projekt lenne.
- A hozzászóláshoz be kell jelentkezni
Itt a C64 memóriatérképe Joe Forster of STA billentyűzetéből.
Használja vegyesen BASIC és KERNAL, plusz az első két cím, ami a CPU I/O portját vezérli. Viszont a CP/M nem használja sem a BASIC-et, sem a KERNAL-t, szóval az általuk használt címeket lehet használni. Viszont azokat a ZP-s címeket, amiket maga a CP/M használ, azokat nem célszerű regiszterként használni. Akkor vagy tudni kell, hogy az ott lévő tartalmat lehet-e trashelni és nem fog-e eltrashelődni, amíg szükség van rá, vagy relokálni kell az azt használó rutinokat máshova, viszont másik ZP-s címre rakva cseber-veder, 16-bites címre rakva meg lassulás. Ebből a szempontból a 6809-es CPU előrébb van, mert ott van egy DP (DirectPage) regiszter és van DP címzés, ami ugyanannyi helyet és ciklust igényel, mint a ZP címzés. (Különbség persze, hogy a DP-t fel kell tölteni, meg en-bloc kezelni kell, de ha egy adott rutin cuccai egy lapon vannak, akkor az nagyon sokat jelent.)
- A hozzászóláshoz be kell jelentkezni
A BIOS az a firmware, ami a perifériákhoz illeszti az oprendszert. A CP/M-et támogató BIOS is ilyen. Nyilvánvalóan (pl.) azt a BIOS hívást meg kell írni, ami az egy karakter kiírását végzi. A másik vége lehet crt, soros terminál, konzol írógép, plotter ... Ez egy ilyen játék.
A példák, amiket irtam, csak annyit jelentenek, hogy (pl.) fogsz egy CP/M-en futó WordStar-t és használod. A 8080 kódot futtató 6502, nos azt CPU emulátornak hívják. A bicikli meg űrrakéta, csak elég gyorsan kell tekerni. ;) Tehát nem képtelenség.
Igaz, a Windows NT is futott PowerPC processzoron, de az nem assembler forrásból készült.
- A hozzászóláshoz be kell jelentkezni
Én meg erről beszéltem. A konkrét hardware-re portolás ezt jelenti.
Már megint nem érted, hogy mit írtam. Nem azt mondtam, hogy a 6502 fogja futtatni a 8080 kódot, nem emulációról beszéltem. Hanem, hogy a Z80/8080 kódot átírja a programozó 6502-esre.
És?
- A hozzászóláshoz be kell jelentkezni
Értem én, hogy nem emuláció, de akkor mi a bánatra lehet használni? A CP/M egy operációs rendszer, amihez rengeteg program volt. Ezek nem futnak 6502-n. Játéknak ugyan át lehet írni, de semmi értelme.
A hardware portolás esetünkben device drivert és/vagy BIOSt jelent. A karakter kiírás nem ment, ezért legyen a példa egy diszk szektor olvasása. Ha a diszk vezérlőt kicseréled (azaz inkompatibilis lesz a hardver, tehát "portolni kell") akkor csak a szektor olvasást kell megírni. A CP/M-et nem kell portolni. Ez még 8080 (stb.) alatt is így működött. Sőt, még a diszk formátum sem volt rögzített, mint a pécénél. A CP/M + diszk buildelni kellett, hogy rendszert kapjál. (Csak elfelejtettem a parancsot. ;))
Pont ezt próbálom magyarázni: A PIC18 családnak 3 index regisztere is van, de hiába futtatná a CP/M-et, nem fut rajta a WordStar.
- A hozzászóláshoz be kell jelentkezni
Miért, mi a bánatra lehet használni a CP/M-re írt programokat 2022-ben? Ez játék, retrósoknak, programozóknak.
Ha az ominózus platformon nincs BIOS, hanem közvetlenül kell a hardware-rel bánni, akkor az összes hardwarekezelést meg kell írni.
Ld. első bekezdés. Mit akarsz a WordStar-ral 2022-ben? Itt a fun faktor a CP/M hackelése/tweakelése, nem a régi produktív programjainak a használata.
- A hozzászóláshoz be kell jelentkezni
A-ha! A fun faktor egy olyan operációs rendszer előállítása, amin nem csak a WordStar (ami csak egy példa volt), hanem abszolúte semmi sem fut.
Van egy POWER4+ gépem. Írok rá egy MS DOS klónt. Azon sem fog futni semmi, de az aztán igazán kúúl!
- A hozzászóláshoz be kell jelentkezni
Több értelme van akkor már OS nélküli játékok írásának: https://www.youtube.com/watch?v=1UzTf0Qo37A
Színes vászon, színes vászon, fúj!
Kérem a Fiátot..
- A hozzászóláshoz be kell jelentkezni
Igen. A fun faktor maga a CP/M piszkálása. Ha neked nem az, nem te vagy a célközönség.
- A hozzászóláshoz be kell jelentkezni
Egyetértek, ma már retrózás a célja, rekreáció. De sokan nosztaligából a WordStart is futtatják ennek keretében, hiszen anno használták. Annak ellenére, hogy annak vannak modern klónjai, és futnak más OS-ek alatt.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Lehet. Másik célközönség.
- A hozzászóláshoz be kell jelentkezni
Ebben igazad van, erről el is feledkeztem. Lefordítani le tudod, csak futni nem fog, sok gépen, valóban, a proci hiába egyezne, de más memóriacímeken vannak adott hardverek, akkor futni nem fog. De ez nem csak CP/M szinten volt így, alkalmazásoknál is számított, hogy mire írták, milyen hardverre, milyen címeket használva.
6502-őn nem sok értelme lenne a CP/M-nek. Elvileg lehetne proof of concept alapon átírni, de pont a fenti miatt nem mennél vele semmire, mivel az alkalmazások, amik miatt a CP/M fontos volt (pl. Wordstar meg a többi), azok úgyis más architektúrára, címzésre vannak kódolva.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Az alkalmazások egy másik kérdés, itt a CP/M portolásáról volt szó.
- A hozzászóláshoz be kell jelentkezni
A DRDOS nem egy cég, hanem egy termék, a cég a DR (Digital Research). Lehet, érdemes lenne javítani.
- A hozzászóláshoz be kell jelentkezni
Van olyan, hogy DRDOS Inc. És náluk a DR-DOS license. Az idézet pedig egyenesen a CEO-tól van, amit a CP/M közösségnek írt.
- A hozzászóláshoz be kell jelentkezni
A cikkben lévő minden infó korrekt. Ha nem érted miért, nézz utána. (A Digital Research már egy réges rég (1991 óta!) nem létező cég, a jogok most egy DRDOS Inc. nevű képződménynél vannak, ennek a góréja mondott most okosat. Bár nagyon nagy cég nem lehet, mert pár éve már weblapjuk sincs.)
-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-
- A hozzászóláshoz be kell jelentkezni
nagy értelme van ezeknek a jogoknak... lassan az arduino-s firmware-em is komplexebb, mint ezek a dos-os kódok...
- A hozzászóláshoz be kell jelentkezni
Na, kellett nekem kötözködni :)
Köszönöm az információt.
- A hozzászóláshoz be kell jelentkezni
Kemény, hogy úgy kommentelsz, hogy még a nyitót sem olvasod el. Mondjuk, ez itt nem szokatlan.
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Jöhetne az MS-DOS, meg a windows a 3.11-ig bezárólag. De tán a 9x vonal is megnyitható lenne már.
- A hozzászóláshoz be kell jelentkezni
Azok tuti tele vannak saját, meg 3rd party ipari titkokkal, ráadásul valószínűleg még katonai intézményekben/létesítményekben is használva vannak, szóval nem valószínű, hogy kinyitnák őket. Az xp forrkódja is úgy szivárgott ki.
- A hozzászóláshoz be kell jelentkezni
Ja, annak én is örülnék, de szerintem azokat nem fogják megnyitni. Túl sok lehet a gányolás és lopott kód benne, amit nem tudnának vállalni a nyilvánosság előtt.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
MS-DOS 1.25 és 2.0 van hivatalosan, sőt Word 1.1 is.
- A hozzászóláshoz be kell jelentkezni
Kár, hogy a DR PL/1 compilerének a source-a nincs benne. Az lehetett az egészből a legbonyolultabb.
- A hozzászóláshoz be kell jelentkezni
Operációs rendszerek és a BIOS működésének a megértésére kiválóan alkalmas.
Emlékszem, hogy már a 486-osok korában volt MPM változata is.
C-től a pascalig (fortran is) minden volt hozzá.
Szövegszerkesztő (wordstar), táblázatkezelő (123) és dbase is használható volt, bár akkor még csak 128k-s floppy tárhely volt.
A németeknél láttam SCSI kártyát is z80/6502-es gépekhez, pl, apple2c
Nem tudom, ma már mit tudnék kezdeni vele.
- A hozzászóláshoz be kell jelentkezni