CP/M, Basic, Pascal met de Z80 microprocessor

Door: Ronald Smit | 17 juli 2021 13:55

How To

Natuurlijk kent iedereen de Raspberry Pi, het ultieme microcomputerbordje. Maar er is (veel) meer onder de zon. Zoals bijvoorbeeld het bijzondere op een Z80 én een moderne microcontroller gebaseerde Z80-MBC2.

De Z80 microprocessor was een populaire 8-bits CPU die vooral in de roemruchte jaren ’80 van de vorige eeuw z’n hoogtijdagen beleefde. Feitelijk was de Z80 een uitgebreide 8080. Die compatibiliteit met de oudere 8080 van Intel zorgde ervoor dat het een populair besturingssysteem uit die dagen kon draaien: CP/M. Dat CP/M was de voorloper van MS-DOS. Als er destijds geen akkoord tussen IBM en een nog piepjonge Bill Gates van het toen nog even piepjonge Microsoft was gesloten, dan was de kans levensgroot geweest dat CP/M nog decennia lang hét pc-besturingssysteem was geweest. Het is anders gelopen, wat betekende dat eind jaren tachtig MS-DOS het stokje qua meest populaire OS overnam. CP/M heeft echter lang meegedraaid en er is een enorme berg software voor beschikbaar. Alleen: op een modern systeem draait al dat moois dus niet meer. Emuleren (zie afbeelding bovenaan) is een optie, maar Z80-MBC2 biedt een veel mooiere oplossing.

Ook een compleet opgebouwd systeem inclusief extra modules kost je zeker de kop niet.

Z80 en Atmel

De Z80-MBC2 is een single board computer met als basis een Z80. Daarnaast treffen we ook een moderne(re) microcontroller in de vorm van de Atmel ATMEGA32A aan. De software daarin vervangt een berg aan omliggende chips die vroeger noodzakelijk waren om een Z80-systeem mee op te bouwen. Het resultaat is een zéér betaalbaar systeem. Zowel de Z80 als de Atmel kosten tegenwoordig een appel en een ei en het handjevol overige onderdelen is eveneens peanuts. Wil je het systeem zelf bouwen, dan ben er zo’n drie a vier tientjes aan kwijt. Inclusief printplaat en onderdelen. Als je een beetje op eBay gaat zoeken duiken met regelmaat interessante aanbiedingen op. Wij scoorden voor minder dan zes tientjes een kant-en-klaar opgebouwde print plus een tweetal uitbreidingsmodules. Die laatsten zijn erg praktisch, want daarmee kun je alle benodigde software vanaf een moderne micro-SD geheugenkaart halen. De andere module betreft een real-time klok, altijd handig.

128 kB RAM

Het idee is de komende tijd meer aandacht aan dit systeem te besteden. Voor nu kijken we als introductie vooral eerst naar de mogelijkheden. En dat zijn er nogal wat. Wel moet je begrijpen dat het hier een ‘klassieke’ computer betreft, waarbij je voor de toegang een al even klassieke terminal nodig hebt. Of een terminalprogramma. Geen grafische poespas dus, alles is tekstgebaseerd. Maar ja, dat was destijds voor de meeste gebruikers meer dan voldoende. CP/M is in essentie ook een tekstgebaseerd besturingssysteem, dus dat is allemaal geen probleem. De Z80-MBC2 beschikt verder over 128 kB aan RAM. Dat zou in de hoogtijdagen van CP/M een enorme hoeveelheid geweest zijn. Zeker ook als je bedenkt dat de Z80 feitelijk maximaal 64 kB aan kon sturen. Via bankswitching – de truc die hier ook gebruikt werd – was meer mogelijk. Maar dat werd een dure grap.

Terminal

Zoals gezegd gebruik je je computer als terminal (of als je echt retro wilt gaan, schaf je jezelf een occasie-terminal aan op eBay, maar let daarbij wel heel goed op de signaalwaarden. Dit bord is RS232 compatibel, maar dan wel op TTL-niveau. De meeste echte terminals gebruiken spanningsniveau’s die dat verre overstijgen. En dus is een converter noodzakelijk. Wil je op safe spelen, koop dan voor een paar Euro een USB-naar-serieel (RS232) TTL-converter. Daar zijn er heel veel van, want deze worden (onder meer) gebruikt om microcontrollers mee te programmeren.

Je kunt een USB-naar-serieel TTL-converter voor (veel) minder dan bovenstaande aanbieding scoren. Voordeel van deze net wat duurdere is dat de Ftdi-chip wordt gebruikt, die vrij universeel is. Daarnaast is het geheel netjes afgewerkt en voorzien van de benodigde connectoren.

Collapse OS en UCSD Pascal

Los van CP/M ondersteunt Z80-MBC2 ook Collapse OS, een besturingssysteem gebaseerd op de programmeertaal Forth. Dat Forth is natuurlijk ook alweer een oudgediende, maar biedt ook anno nu nog interessante mogelijkheden op dit soort 8-bit microsystemen. Een andere veteraan die eveneens moeiteloos draait op het systeem is UCSD Pascal. Pascal was het ‘elegante’ en gestructureerde alternatief voor Basic. Pascal leeft tegenwoordig nog voort en is meer bekend als Delphi. Start je het systeem trouwens in CP/M-modus, dan zijn vanzelfsprekend meer programmeertalen voor dit besturingssysteem beschikbaar. Hiervoor kun je terecht op bijvoorbeeld deze site. Je ziet daar roemruchte programmeertalen van al even roemruchte herkomst uit het grijze digitale verleden.

Keuze genoeg aan programmeertalen voor CP/M.

Oud én nieuw

Nu wil ‘oud’ natuurlijk niet zeggen dat de Z80-MBC2 alleen voor retro-toepassingen inzetbaar is. Toegegeven: dat zal voor de meeste gebruikers wel het meest interessante hoofddoel zijn. Maar bedenk je dat het systeem lekker energiezuinig is (er wordt een CMOS-versie van de Z80 gebruikt) en het dus geen probleem is om het langdurig ingeschakeld te laten. Kortom: wat let je om ‘t computertje te gebruiken voor het besturen van het een of ander? Juist de eenvoud van de Z80-MBC2 maakt het een toegankelijk geheel. Er is echter een kleine horde: de computer beschikt niet over een ethernet-aansluiting. Die bestonden destijds nog niet, vandaar. Maar dat is vrij makkelijk te verhelpen. Bij Chinese fabrikanten kun je namelijk voor minder dan een tientje RS232 serieel naar ethernet-converters kopen. Die apparaatjes beschikken over een eigen webinterface waarin je alles naar wens kunt configureren. En zo kun je alsnog via een terminalprogramma je Z80-MBC2 via het netwerk benaderen.

En zo help je een retro-systeem je moderne (thuis)netwerk op.

Ook bestaan er modules (niet door ons besteld) waarmee je een seriële poort via wifi en/of bluetooth beschikbaar maakt. Het kost dus niet heel veel moeite om een in essentie retro-systeem als dit de moderne tijd binnen te loodsen.

Alle in dit artikel genoemde onderdelen zijn inmiddels door ons besteld en binnen. We gaan er zeker op terugkomen, want hier kun je immers een flinke hoeveelheid lol aan beleven!

0 Reactie(s) op: CP/M, Basic, Pascal met de Z80 microprocessor

  • Om te reageren moet je ingelogd zijn. Nog geen account? Registreer je dan en praat mee!
  • Er zijn nog geen reacties op dit artikel.

Wanneer je een reactie plaatst ga je akoord
met onze voorwaarden voor reacties.