Atom-in-PC Linux terminal 4

Bijna een soap. De Atom-in-PC terminal onder Linux. De ontwikkelingen hebben niet helemaal stil gestaan in de afgelopen maanden. De maanden waren warm tot heet en ik heb weinig tijd besteedt aan de Atom. Maar de successen van Kees van Os hebben ook mij weer weten te motiveren en onlangs heb ik de draad voor de zoveelste keer weer eens opgepakt.

In het vorige nummer van ELAN beschreef ik het spelletje 'boxworld'. Dit spel was zo geprogrammeerd dat het eenvoudig te porten zou moeten zijn naar de DOS versie van het terminal-programma. Maar dat bleek niet zondermeer mogelijk. Een fout in de Linux terminal laat alle sprites ondersteboven zien. Nu merk je daar weinig van als de sprites ondersteboven gedefinieerd zijn. Maar als je dan gaat uitwisselen tussen DOS en LINUX, dan wordt het opeens wel een probleem. Aangezien DOS "leading" is, heb ik deze fout opgespoord in de Linux terminal. Nu moet ik nog even alle sprites omdraaien. Wordt vervolgd.

Het Linux terminal programma is nu ook voorzien van support voor Random Access Files. Hier was nog een aardige hindernis te nemen. Zowel de standaard Atom, alsook de MS-DOS terminal openen een bestand en dat levert een handle op van 1 byte. Echter, de filehandle onder Linux is 4 bytes groot. Ofschoon ik het principe dat beide terminals compatible zijn ietwat los heb gelaten, blijft de eis dat de software op de Atomkaart niet aangepast mag worden, bestaan. Maar hoe prop je 4 bytes in een enkel byte.
De oplossing is even simpel als doeltreffend: de Linux terminal heeft een array waarin de handles bewaard worden. De Atom krijgt alleen de array index retour. Met een index van 1 byte groot kunnen we dus 255 handles opslaan (handle 0 mag niet gebruikt worden omdat deze een fout aanduidt). Voor de Atom verandert er dus niets, terwijl het Linux terminal programma deze Atom-handle direct als arrayindex kan gebruiken. Probleem opgelost.

Nog lang niet alle commando's uit de DOS terminal zijn overgezet, sommigen zullen waarschijnlijk nooit overgezet worden omdat ze toch nooit gebruikt worden. Wel wil ik zeker nog de floating point functies overzetten en zal ik samen met Kees van Os gaan werken om een TCP/IP api te ontwikkelen. Middels deze api kunnen dan makkelijk netwerkverbindingen opgezet worden naar andere systemen.

De software is op dit moment volop in ontwikkeling, daarom heb ik bij deze aflevering geen bestanden ter download aangeboden. Mocht u desondanks niet willen wachten en toch direct aan de slag gaan met de meest recente software, neem even contact op met de ELAN webmaster en hij zorgt wel dat het verzoek bij mij terecht komt.

Met vriendelijke groeten,Roland Leurs