A>_: 43 jaar oud besturingssysteem CP/M draait op Raspberry Pi

Het is een Duitser gelukt een 43 jaar oud besturingssysteem te laten draaien op een relatief moderne Raspberry Pi. Het booten gebeurt in vijf seconden, omdat hij de emulator voor de Zilog Z80-processor laat starten zonder besturingssysteem.

Daardoor start het antieke 8bit-besturingssysteem CP/M op in vijf seconden, claimt de Duitser Ronald Daleske. Hij maakte een emulator die werkt zonder besturingssysteem, een zogenoemde 'bare metal'-toepassing. CP/M draait op de Pi Model A+, B en 2 Model B. De zipbestanden die Daleske online heeft gezet, gaan in de boot-map van een sd-kaart die een fat- of fat32-indeling moet hebben. De kaart moet in de Pi en dan ben je klaar voor een reis terug naar de jaren zeventig van de vorige eeuw.

CP/M is een voorloper van Microsofts DOS-besturingssysteem en het Redmondse bedrijf heeft veel geleend van CP/M, dat staat voor Control Program/Monitor en later voor Control Program for Microprocessors. Zo stamt de aanduiding 'A:' voor een schijfstation van CP/M en Microsoft zegt zelf dat het vanwege CP/M jarenlang heeft vastgehouden aan de 8.3-benaming voor bestanden, bestandsnamen met maximaal acht karakters voor en drie karakters na de punt, zoals TWEAKERS.DLL. De DOS-maker bouwde dat in, omdat Microsofts besturingssysteem compatibel moest zijn met CP/M.

De eerste versie van CP/M kwam uit in 1973, de laatste stamt uit 1983. Bekende programma's voor CP/M waren SuperCalc en WordStar. Een van de bekendste apparaten met CP/M was de Osborne 1, de eerste laptop voor consumenten.

Door Arnoud Wokke

Redacteur Tweakers

12-10-2016 • 19:08

109

Reacties (109)

109
106
85
2
0
15
Wijzig sortering
Ahhh.... na zoveel jaren kan ik nog eens op de Raspberry m'n Amstrad Schneider Joyce PCW 8256 emuleren? De hardware is de deur uit maar wat heb ik een lol gehad op dat ding.. zelfs een keer de originele diskettes door mij 'geblanked' terwijl mijn vader (laatbloeier) zijn doctoraalscriptie er op aan het verwerken was... Er was zelfs een Nederlandse JCC (Joyce Computer Club) waar ik eens contact mee had voor een disk met spelletjes! Ding viel natuurlijk in het niet bij de Commodore 64, want het was een echt werkpaard/moderne typemachine.

Wel leuk dat de sourcecode op Ronald Daleske z'n pagina staat én mijn Raspberry Pi sinds dat Maikel stopt met WhatsSpy stof ligt te happen.... ik ga het weekend lekker aan de slag!

[Reactie gewijzigd door cyclofosfamide op 22 juli 2024 13:23]

Op kantoor hadden we een philips tekstverwerker met daisywheel printer en ja ook cp/m draaien. Herinner me nog een keer dat ik strafwerk had op lagere school en vroeg het te mogen typen. Dat was dus toen al copy paste en printen maar. Printer stond ook in een kast omdat het zo een herrie maakt.

Nu kun je dit alles op iets dat een fractie van de grote heeft van toen.
Kan nooit zo'n herrie hebben gemaakt als mijn eerste printer: een radioshack matrix printer. Dat ding hoorde ik zelfs gewoon nog vanuit de woonkamer op zolder... XD
Mijn eerste printer was een Star NL-10.

Weet het nog precies dat IEEEE-KKRRRRR. :P

Zou je tegenwoordig mooi muziek mee kunnen maken met zo'n printkop en een controllertje, zoals die ene gast ook met floppies, scanners en harddisks doet.

Printkop werd wel heet!

Edit: WTF de manual staat nog gewoon online tegenwoordig: https://www.star-m.jp/eng/service/usermanual/nl10um.pdf

Zal wel zijn omdat ze bij de Makro nog steeds matrixprinters gebruiken :P

[Reactie gewijzigd door Fairy op 22 juli 2024 13:23]

De makro heeft sinds een paar jaar gewoon laserprinters staan. ;)
Sorry bedoelde de Sligro
43 jaar later en we noemen de fysieke hdd nog steeds C:\ :D zit zelfs zo ingebakken dat 3rd party software absoluut niet om kan gaan met een systeem waarbij de vaste schijf A:\ heet :D
Dat is wat je krijgt als je bouwt op iets wat je al hebt gebouwd, op iets wat je al eerder hebt gebouwd, wat je weer eerder hebt gebouwd van iets wat je "geleend" hebt van wat anders.

Het zit zo ingebakken in Windows dat je het er nooit meer uit krijgt. Hooguit als een ander OS mainstream wordt, maar dan hebben /home, /root, /etc , /boot en /var om maar wat te noemen. En ook dat systeem is al decenia oud. :)
Eh, /home, /root e.d zijn niet echt schijven, dat zijn mountpoints. /dev/sd<iets>, /dev/vd<iets> is dan een betere benaming.
C: e.d. zijn ook mountpoints.
Klopt. Kun je zien met WinObj. Sinds Windows NT zijn deze drive names alleen maar symbolic links. C: is letterlijk een symbolic link naar \Device\HarddiskVolume1. Windows kan achter de schermen wel veranderen, maar ze doen nog steeds moeite om compatible te blijven met dingen die dus letter 43 jaar oud zijn.
Er zijn vast programma's die jonger dan 43 jaar zijn die de driveletters niet kunnen missen. Ze willen niet compatibel blijven met 43 jaar oude meuk, ze willen compatibel blijven voor meuk die op nog oudere meuk leunt.
Is overigens niet eens enkel om compatible te blijven. Ook de herkenbaarheid van C: voor gebruikers is een belangrijke reden geweest die benaming te houden. (Was ergens een msdn blog over ten tijde van Vista dacht ik, toen ze eraan dachten om dat te wijzigen).
C: is ook geen schijf, maar een partitie. :P

Het ging me er meer om hoe de gebruiker ervaart waar data staat. 8-)
Nee, C: is geen partitie maar een filesystem. De onderliggende laag daarvan wijst misschien naar een partitie op een disk.

Een filesystem kan in principe over meerder partities verdeeld zijn, of zelfs meerdere disks, of zelfs in-memory verwerkt worden.
Of /dev/rdisk/c0t0d0 :P
Ik hoop nog steeds dat Burroughs MCP ooit eens mainstream wordt....

Wel leuk dat mensen zich met dit soort projectjes bezig houden trouwens
Beetje hetzelfde als de http:// wat zo ingebrand zit in alle systemen dat het er niet meer uit kan.

Offtopic maar leuke anekdote, die // is altijd overbodig geweest. Met een welgemeende sorry van de bedenker http://m.nieuwsblad.be/cnt/g882go9et
Anoniem: 668730 @Dennisdn12 oktober 2016 19:54
Beetje raar verhaal. Die // zijn niet meer verspillend dan de ttp in http.
Toch niet want als er nog een protocol was geweest wat ook met een H begon zat je met de gebakken peren. Wat betreft de dubbele slash is er inderdaad geen reden te verzinnen waarom die erin zou moeten.
de dubbele slash is eigenlijk het meest zeggende van het protocol: het is de start van de URL / URI

meeste mensen zien het misschien tegenwoordig zo:
http:// tweakers.net
maar het is eigenlijk:
http: //tweakers.net

[Reactie gewijzigd door Belgar op 22 juli 2024 13:23]

Dat is de dubbele punt : toch al? Die markeert het einde van de protocol aanduiding. De dubbelle slash verduidelijkt het, maar is wel overbodig.
De dubbele slash geeft in principe aan dat er een "authority component" in de URL wordt meegegeven.

het hele punt van een URL is dat die slechts op een manier geninterpreteerd moet kunnen worden. daar beginnen met een enkele slash zou kunnen betekenen dat je een local resource aan wil spreken is afgesproken dat als een een "eigenaar" van een resource wordt meegegeven de URL begint met een // zodat de interpreter weet dat eerst de eigenaar moet worden bekeken en dan pas het verdere pad.

zie ook RFC 3986 waar dat wordt vastgelegd.
Ik bedoel meer helemaal geen slash beginnen. Dus gewoon http:www.
De dubbelle punt voldoet al.

[Reactie gewijzigd door ro8in op 22 juli 2024 13:23]

Als ik zo om me heen kijk, zie ik alleen maar mensen die extra-dubbel werk doen
stap 1 : google.nl
stap 2 : tweakers
stap 3 : klik op 1e link in de resultaten

Zelfs sommige ict-jongens ( met opzet jongens, met hun 19 jaar en wereldkennis :| ) die heel 'cool' google als startpagina hebben, gebruiken de zoekbalk om "tweakers.net" in te voeren, ipv de linkbar bovenin.
Mensen en de hersenen van mensen zijn luie gewoontedieren. Als je 9 van de 10 keer iets opzoekt via google zonder url, zul je de 10e keer een bekende site ook als host of erger nog (?) als volledige url in de zoekbar in google tiepen. Ooit eens een TV documentaire gezien met mooie MRI scans dat dagelijkse patronen ook patronen maken in de hersenen. Het resultaat is dat je meer voor elkaar krijgt 'zonder na te denken'. Allemaal menselijk, maar wellicht voor ict'ers vloeken in de kerk.
Daarom moet ik ook altijd wat 'lachen' om die jongens.

Waarom de google pagina als startpagina, als je hetzelfde direct in de linkbar kan bereiken ?

* FreshMaker gebruikt de pagina van Google nooit, zoeken gaat gewoon bovenin ...
Nou ja, sinds kort is het natuurlijk
https: //tweakers.net
Is het eigenlijk niet het einde van de URL?
Gezien je van top level begint?
Zoals ik het begrepen had in een nieuwsitem op TV destijds hij zijn excusen aanbood was dat het de bedoeling was dat in de toekomst iets tussen de // moest komen, wat er uiteindelijk niet van is gekomen omdat het anders is opgelost.
Dat is toch puur de naam van de applicatielaag? Net als bij ftp:// en mailto:? Hoe wil je dat verder versimpelen?
Zijn suggestie is http: in plaats van http://. Ik zeg maak er dan gewoon h: van.
En toen zocht je opeens op je H-schijf onder Windows... Zeker toen de verkenner en Internet Explorer nog geïntegreerd waren...
Das exact wat ik zeg, jij krijgt plus 1 en ik offtopic. De moderaties hier zijn soms ook niet te begrijpen meer.

Misschien dat men te jong is hier, maar niet alleen je H schijf, mocht er in de toekomst iets anders komen dat http wat ook met een H begint kom je ook niet uit. Vroeger had je bijvoorbeeld ook gopher:// en ftp:// dat zullen de meeste hier wel niet mee gemaakt hebben meer en waarschijnlijk niet eens weten waar de http: voor staat.
daarnaast zijn er ldap: ldaps: https: ftp: ftps: fish: telnet: mailto:
en er zijn er nog wel meer maar die worden steeds exotischer.

In principe is een URL een methode om access naar een resource op het www te beschrijven, zonder ambiguiteiten.
Das exact wat ik zeg, jij krijgt plus 1 en ik offtopic. De moderaties hier zijn soms ook niet te begrijpen meer.
Niet druk om maken anders mag je helemaal niet meer modereren zoals ik ;-) ik verbaasde mij er ook over en ging daarom (tegen) modereren en daarom zijn mijn rechten ontnomen.

PS Dit is ook offtopic over dit onderwerp, ik weet het ;-)
Dat snap ik, maar hoe ga je dan ftp en mailto (en tegenwoordig ook chrome) versimpelen? Allemaal met 1 letter? En https?
Er was destijds wel behoefte aan een separator tussen de protocol designator en de url. Omdat / al als separator gebruikt werd (wordt) in het url pad, en het aantal geldige karakters destijds al beperkt genoeg was, was de keuze voor een verdubbelde separator geen onlogische keuze.

Dit is een zoveelste voorbeeld van kleine keuzes in protocols en standaarden, die nog decennia onze wereld bepalen. Evenzo de aanduidingen voor floppy en hdd. Systemen hadden vaak 2 floppydrives (A: en B:), lang voor de harde schijf gemeengoed werd. Kiezen voor C: was kiezen voor compatibiliteit met 'hardcoded' paden, die destijds volledig normaal waren.
In het artikel worden als voorbeelden ook https:// en ftp:// genoemd.
Echter ook mailto:, en die heeft die dubbele slash dan weer niet.
Anoniem: 221563 @Dennisdn13 oktober 2016 00:18
Het artikel leest alsof het van de spelt komt...
Zelf tijden lang een enorme hekel aan gehad dat sommige programma's gewoon echt niks anders pikken.

ik had XP ooit op H:\, maakte voor XP zelf ook niks uit, programma's van derde konden konden er minder goed mee om gaan.
"Will install to C:\Program Files\".
Nou, succes vriend, maar er zit ff geen CF-Kaart in... :+

de meeste programma's laten je zelf een map kiezen, maar niet alle, en die kon ik dan gewoon niet installeren.
Bij de meeste programma's werkte dat inderdaad wel. Heb zelf nog wel eens wat systemen met dual boot gehad waarbij het tweede OS van de D: schijf opstartte en daarna ook die driveletter bleef gebruiken. Eigenaardig genoeg leek het er op dat Windows zelf ook nog wel eens standaard teruggreep op de C: schijf. Met de huidige Windows versies is het vrijwel onmogelijk om ze op een andere schijf te installeren dan C: De installatie schijf wordt standaard C: genoemd en vastgelegd in 1001 beveiligde registry entries. Op de een of andere manier zou je verwachten dat MS tegen deze tijd wel eens iets bedacht zou hebben om van die CP/M erfenis af te komen. maar zo eenvoudig is dat kennelijk nog niet.
Sterker nog, bij Windows NT en dergelijke kon je tijdens de setup zelfs de installatie map bepalen. (Bijv. C:/Foo/)
Met het subst commando kun je er in veel gevallen omheenwerken, zie https://en.wikipedia.org/wiki/SUBST
Dat heb ik vorig jaar en het jaar daarvoor gebruikt dankzij een batch file, waarmee ik CMD, die afgeschermd was, kon opstarten. Ik kon dat bestand perongeluk maken op het schoolnetwerk. Ze hebben die batch file gewist bij ICT, maar niet voordat ik een backup had in the cloud. Zo kon ik chrome portable installeren en de C:\ filesystem benaderen.
Mijn fysieke disks heten anders /dev/sda, /dev/sdb, /dev/sdc, /dev/sdd en /dev/sdf ;-)
Mijn fysieke disks heten WD, Seagate, etc. Wat jij bedoelt zijn de device files, oftewel de logische apparaten ;)
Klopt, want je kan zelfs (in de meeste linux distros) logische volumes/apparaten emuleren(via LVM's "lvcreate") dan krijg je ook gewoon /dev/sdc etc etc

[Reactie gewijzigd door MrFax op 22 juli 2024 13:23]

Henry, charly en Kate...
Heb laatst ook een (relatief klein) VBA project herschreven zodat het niet meer in een vaste directory hoefde te staan. Maar mijn hemel, wat viel me dat tegen :) . Kan me voorstellen dat veel applicaties van de grond af opnieuw opgebouwd moesten worden om dat te ondersteunen.
Lang niet iedereen /dev/sda }:O
Onder *NIX hebben we nog steeds paden als /etc /usr en /bin waar dit ooit aparte schijven waren die daar gemount werden.
Wel leuk dat ze dat ding nog aan de praat krijgen.
Herinnert mij aan mijn oude dos tijdperk.
Waarom zou je het veranderen? Dat is net zoiets als tegen heel Nederland zeggen dat ze vanaf nu links moeten gaan rijden. Hoewel sommigen dat al doen.
Even voor goede orde, Je weet dat een redelijke tijd geleden iedereen hier ook aan de Linkerkant reed? Mogelijk is het logischer mogelijk niet, moet je even aan die fransman met zijn zweterige hand vragen (Napoleon).
Even voor goede orde, Je weet dat een redelijke tijd geleden iedereen hier ook aan de Linkerkant reed? Mogelijk is het logischer mogelijk niet, moet je even aan die fransman met zijn zweterige hand vragen (Napoleon).
Niet helemaal de oorsprong, aangezien daarvoor veelal in het 'midden' gereden werd, omdat er niet echt "snelwegen" waren.
De Romeinen hadden ook al wat structuur in de verkeersregelingen
Onzinreactie. Een drive moet een aanduiding hebben, of dat een A of een C is maakt niets uit. Dat is wel even iets anders dan geheugen uitbreiden.

Of wil jij je eigen letter uitvinden?
Een 43 jaar oud besturingssysteem maar dan zonder besturingssysteem. Ik snap 'm niet.
Het staat in het bronartikel, maar een gangbare term voor die omschrijving is 'bare metal'. Als in: op een bare metal VMWare server kun je virtuele machines draaien; op een Windows, Unix of Linux server kun je ook virtuele machines draaien. In het tweede geval raak systeemresources kwijt aan het gebruikte OS. In dit geval dus Raspberry PI OS.

[Reactie gewijzigd door biomass op 22 juli 2024 13:23]

Deze emulator draait zonder besturingssysteem. Het besturingssysteem draait op de emulator.
Normaal gesproken heb je een besturingssysteem nodig om een emulator uit te voeren maar deze emulator roept blijkbaar direct de juiste CPU instructies aan waardoor er geen besturingssysteem nodig is om de emulator te draaien (eigenlijk is die emulator dan toch direct het besturingssysteem?).
de emulator is een soort van hypervisor voor het effectieve besturingssysteem, wat direct ook een groot deel van de wow-factor wegneemt, want tegenwoordig is er voor zowat elk OS wel een emulator die veel krachtigere hardware al kan simuleren. Het is dan ook eerder te categoriseren als een proof-of-concept, gewoon om te zien of het kan.
mooi hoor

heb nog steeds de originele schijven
Waren de schijven bij CP/M niet grotendeels hardware afhankelijk? Er staat me bij dat er aan de ene kant een deel van het OS hardware afhankelijk was en dat er aan de andere kant een mix gebruikt werd van hard en soft sectored schijven. Acht inch floppies waren dan net wel weer verleden tijd geloof ik.
Het staat me bij dat het aantal sectoren op track 0 vast lag. Daar lag bij een geformatteerde floppy in op geslagen hoe de rest van de floppy was geformatteerd (160 KB, 320 KB of meer).
In de bios was niet genoeg ruimte voor een volledige automatische detectie routine.

Meer info over CP/M disk formaten:
http://www.seasip.info/Cpm/formats.html
En nee, 8 inch floppies waren nog niet verleden tijd. Ik heb nog CP/M op 8 inch meegemaakt.
De bakbeesten waar ik op heb leren spelen, hadden over het algemeen 2 floppy drives, de linker had het OS, de andere kon je data op kwijt.
Sommige floppy's hadden OS+Program in één, zodat je een drive over had.

( misschien dat dáár mijn OCD is ontstaan om in al mijn device's het liefste 2 onafhankelijke opslagmedia te hebben, één voor het OS, en de andere voor user-data )
De vraag is of ze nog werken :) na zolang in een kast te liggen. Heb nog schijven van een C64 en die hebben al veel fouten.
in de orignele verpakking ingesealed stofvrij bewaard

ga ervan uit dat ze gewoon werken maar ga het zeker niet proberen
:)
Anoniem: 221563 12 oktober 2016 19:17
Weetje voor de Game of Thrones fans, George RR Martin gebruikt nog steeds WordStar voor het schrijven van de boekenserie... if it works : :)
Als je de man zelf ziet :

[img]http://media.breitbart.com/media/2016/01/George-R-R-Martin-HBO-640x480.jpg[/img]

dan geloof je dat zo. Er zullen ook zat schrijvers zijn die nog een ouderwetse typmachine hebben voor hun boeken. Daarbij, Game of Thrones is niet geschreven door Martin. Hij schrijft A Song of Ice and Fire. Game of Thrones is weer gebaseerd op de boeken maar volgt dit niet geheel. :P
Anoniem: 221563 @asing13 oktober 2016 00:14
Vandaar dat ik ook zeg, de boekenserie ;) Overigens is hij wel de schrijver van Game of Thrones, zo heet het eerste boek immers. :P Plus schrijft hij ook mee met de serie (of beter gezegd, schreef.) Busy man.

Edit: zo. Volgens mij heb ik mn portie betweterig weer gehad. Schaam schaam. Truste.

[Reactie gewijzigd door Anoniem: 221563 op 22 juli 2024 13:23]

Eerste boek heet toch echt "A Game of Thrones" :P
Hij gebruikte MS-DOS, ik had dat ergens in een Amerikaanse krant gelezen.
WordStar is er ook voor DOS.
Dat was destijds mijn eerste tekstverwerkte. Paste samen met alle documenten die je nodig kon hebben op een 5,25 inch floppy. :)

Kent iemand SuperCalc nog?
Weetje voor de Game of Thrones fans, George RR Martin gebruikt nog steeds WordStar voor het schrijven van de boekenserie... if it works : :)
Voor mij waren SuperCalc en Wordstar ook de "eerste" ICT lessen, iig vrij kort na volle lesuren over 'aanzetten' en behandelen van de floppie's

Daarna werd de school ( MAVO ) modern en kwamen er 15 Apple][ pc's met Multiplan tevoorschijn.

* FreshMaker is gelukkig 2 jaar ouder dan CP/M ;)
Anoniem: 454358 12 oktober 2016 19:31
Op de een of andere manier heb ik eigenlijk wel zin in een 8bit ontwikkelbordje met een z80 cpu.
En ze zijn er:
Modulair Z80 bordje
ZIet er gelikt uit en inderdaad heb ik enorm zin deze aan te schaffen. Maar gelukkig heb ik ook een zolder vol met ZX81 & Spectrums.
Als je echter terug wilt naar het Z80 (assembler) gevoel; koop dan een Arduino bordje voor een paar dollar en het komt allemaal terug (eigen ervaring).
Wat ook goed helpt om terug te gaan naar het Z80 (assembler) gevoel, zijn de PIC microcontrollers. Ik heb er een hele hoop en ik programmeer ze met een PicKit3. Het is weer helemaal een feest om iets te bouwen in assembly (of machinetaal zoals we het noemde in het MSX-tijdperk).
Dus, hij draait niet CP/M op z'n Pi, mar een Z80 emulator en daar draait dan CP/M op. Da's een beetje hetzelfde verhaal als tweakers.net elke keer bericht dat iemand windows 3.1 ergens op 'aan de praat' heeft gekregen, wat ook telkens niets anders is dan een emulator laten draaien en daar een willekeurig OS in starten. Gek genoeg horen we dan niks over echte hacking projectjes zoals iemand die Linux op een AVR microcontroller laat draaien met een ARM emulator, om dat het blijkbaar makkelijker was om een ARM emulator op een AVR te bouwen en daar Linux op te starten dan µC Linux op een AVR te porten.
Linux draait dan wel weer op AVR32 (AP7000 series, unfortunately discontinued) maar dat is weer een hele andere architectuur dan de 8 bits AVR architectuur. (Er zijn nog AVR32 microcontrollers te krijgen, maar alleen series zonder MMU)
Op de 32-bit AVR zal het wel lukken denk ik. Op de 8-bit was het wat lastig, met 16-bit AVR's was het misschien wel gelukt, maar blijkbaar kan je een ARM emuleren op een paar honderd KHz wat het mogelijk maakt Linux te starten :p Zonder tools of iets dergelijks, puur de kernel. Met tools kan ook, maar dan ben je een paar uur aan het wachten tot je bash kan gebruiken (met init=/bin/bash).
Ronald Daleske is Duits, niet Deens.

http://www.projekte.daleske.de/
Auteurarnoudwokke Redacteur Tweakers @wpmhiag12 oktober 2016 19:42
Thanks, gefixt :)
*haalt koffie*
Is het al zo lang geleden dat ik nog met CP/M gespeeld heb ??
Nog een weekje wachten en dan komt een banana pi m2 vrij hier.. kijken of die daar van wil booten.
Ik kan me nog IBM-DOS herinneren, de grote floppy's en dat geluid dat die maakt als die opstart en het systeem ging lezen. Ik geloof dat toen ook de irr. begon met de slash en de backslash / en \ bij mij.
Later bij MS-DOS maar overgegaan op 4DOS.. :)
Ik kan me de overgang van CP/M naar DOS nog herinneren, vooral het kopieren van files
CP/M: PIP newfile = original
DOS: Copy original newfile

Don't drink and copy :+
Ah, CP/M. Ik had dat op de MSX computer draaien, zat er standaard bij de SVI-738, tijdje terug alweer :)
Op mijn Philips MSX2 moest ik eerst ergens een condensator op het moederbord solderen voordat CP/M werkte. Maar toen kon ik basic programma's echt compileren. :o

Op dit item kan niet meer gereageerd worden.