Project: Univerele punchtape vertaler | |
---|---|
Naam | Univerele punchtape vertaler |
Door | Gebruiker:MacSimski |
Status | Planning |
Madskillz | coding |
Doel / Omschrijving | |
universele punchcode vertaler | |
Alle Projecten - Project Toevoegen |
Algemeen
ITA2, ASCII, BULL,Flexowriter,Typesetter. allemaal codes voor het aansturen van apparaten in de space. Van 5 tot 8 bits, controlcodes. Zou het niet handig zijn om een babelfish te hebben om deze machines allemaal vanuit een softwaredingus aan te sturen. Vanuit de computer naar apparaat en terug. Voor ITA2 en Typesetter is er al iets geschreven, maar dit combineren in een (uitbreidbare) stuk software/hardware combi is misschien handig.
Een van de dingen die door de software afgehandeld moet worden is het omschakelen tussen hoofd en kleine letters of getallen. in ascii zijn dat aparte karakters, is andere codes wordt daar een of twee aparte omschakelkarakters voor gebruikt die apart verzonden worden waarvan de staat onthouden moet worden voor de karakters die er op volgen.
Daarnaast is het nodig een vertaalslag te maken van karakters die niet in ascii of unicode voorkomen. hoe die te coderen in het bronbestand voor de vertaling.
Mocht de implementatie op een microcontroller gebeuren, is het ook handig om alle vertaalslagen in progmem in de controller te hebben, zodat met een paar gpio pinnetjes aan te geven is welke vertaling gewenst is. Maar ik vind het ook wel mooi om dat met controlcodes te doen, zodat ook tijdens gebruik omgeschakeld kan worden. Om het niet heel erg ingewikkeld te maken gaan vertalingen altijd van of naar ascii.
Voorstel voor control sequences
een control sequence voor bijvoorbeeld omschakelen van vertaalmodus en non-ascii karakters kan hetzelfde van opbouw zijn, Herkenbaar aan twee opeenvolgende karakters die in normaal gebruik niet veel achter elkaar voorkomen, zoals
- <|
- <-+
- @@
Direct gevolgd door twee letters voor de gewenste functie op karakter. dat een non-ascii niet op alle doelapparaten voorkomt maakt het wel onoverzichtelijk, maar met een simpele tabel op de wiki is het altijd snel op te zoeken.
Dus bijvoorbeeld @@tf is target flexowriter, @@ts target typesetter, @@ti telex.
Een ander probleem is: hoe heten die rare non-ascii tekens: vierkantje met kruis, afgeplatte x. Daarvoor zouden we UTF-8 kunnen nemen, aleen zijn die 4 byte, wat dan door de software aan de ascii kant weer als garble tevoorschijn kan komen, en een lookuptable ook niet echt fraai maakt.