Acesta este un remaster al ediţiei 7.2.0 CD Knoppix, făcut cu scopul de a pune la dispoziţie un sistem de operare celor care vor să folosească unele din utilitarele pe care le-am scris pentru calculatorul CoBra. Întrucît în zilele de faţă cei mai mulţi utilizatori par să fi migrat spre calculatoare pe 64 de biţi (eu nu mă număr printre ei) a trebuit să găsesc o cale de legătură între aceşti utilizatori şi utilitarele mele. Din cauză că le-am scris pentru Linux (iar cele compilate sînt pentru Linux pe 32 biţi), au fost unii utlizatori care au avut probleme încercînd să le folosească. Knoppix e o distribuţie Linux pe 32 de biţi, iar eu sînt foarte familiar cu remasterizarea şi modificarea lui.

Ecranul de pornire a acestui remaster Knoppix pentru CoBra arată ca mai jos:

Imaginea ISO a acestui remaster conţine deja instalate cinci utilitare pe care le-am scris pentru Linux, plus încă trei pe care nu le-am scris eu, dar care sînt utile la lucrul cu software pentru CoBra (un hex editor, un Z80 asamblor şi un Z80 dezasamblor). Odată ce sistemul este complet lansat de pe acest CD, e nevoie doar de o consolă text în care să se introducă orice comandă care foloseşte utilitarele. Utilitarele sînt descrise la sfîrşitul acestei pagini.

Două din aceste utilitare sînt scrise folosind o interfaţă grafică Qt, celelalte sînt utilitare de consolă (în mod text).
Toate aceste utilitare au cîte o intrare în meniul de start din taskbar:



Utilitarele grafice sînt complet lansate din meniu, iar cele de consolă, atunci cînd sînt lansate din meniu deschid o fereastră de consolă în care afişează un mic help pentru modul de utilizare, după care prompterul aşteaptă introducerea unei comenzi.

DOWNLOAD IMAGINE ISO CD

MD5SUM: b825dca998815b9c2317900e972818b2

Ar fi cam trei metode de a folosi această imagine CD: poate fi scrisă pe un disc DVD (întrucît mărimea o depăşeşte pe cea a unui CD standard), poate fi transferată pe un flash drive de pe care se bootează calculatorul, sau poate fi folosită într-o maşină virtuală.

Am asamblat această imagine ISO în ideea de a fi folosită într-o maşină virtuală. Aceasta ar fi cea mai flexibilă şi uşoară metodă de folosire, de vreme ce primele două metode necesită un calculator fizic pe 32 de biţi pentru a boota de pe CD. O maşină virtuală poate fi creată foarte uşor, indiferent de ce tip de calculator ai, şi indiferent de software-ul de virtualizare pe care-l foloseşti (eu personal folosesc VirtualBox, care este gratuit şi Open Source, în Linux, şi care poate fi folosit şi în Windows, dar orice alt software de virtualizare poate fi folosit dacă se doreşte - VMWare, Parallels, Hyper-V Manager, QEMU etc.).

Pentru a folosi această imagine CD într-o maşină virtuală nu e nevoie decît de crearea unei maşini virtuale goale (FĂRĂ NICI UN HARDDISK) pentru un sistem de operare Linux pe 32 de biţi. Alocaţi-i cam 256-512 MB RAM, 128 MB de memorie video şi o unitate CD şi alocaţi-i de asemenea şi acces USB. Cea mai uşoară cale de a transfera fişiere cu această maşină virtuală este cu un flash drive USB înfipt în calculatorul gazdă şi apoi accesat din maşina virtuală.

Asta doar dacă nu reuşiţi să activaţi un "shared folder" între sistemul gazdă şi UtiLinux, caz în care nu mai e nevoie de nici un flash drive separat. Dacă folosiţi VirtualBox 4.3.14 sau mai recent ca software de virtualizare, veţi avea această facilitate din start, a se vedea comentariul de mai jos.

Deci, pentru a procesa nişte fişiere cu utilitarele CoBra de pe acest CD, puneţi aceste fişiere pe un flash drive USB, porniţi maşina virtuală de pe imaginea CD, apoi conectaţi flash drive-ul USB la maşina virtuală, copiaţi fişierele în Linux (creaţi un subdirector gol undeva în /home/knoppix) şi apoi rulaţi utilitarele CoBra cu aceste fişiere. Apoi copiaţi fişierele rezultate înapoi pe flash drive şi deconectaţi flash-drive-ul de la maşina virtuală.

Un aspect important care trebuie neapărat menţionat: atunci cînd creezi o maşină virtuală cu un sistem de operare grafic (Linux, Windows etc.), pentru a dispune de rezoluţii mai mari decît standardul (1024 x 768) în sistemul de operare găzduit, este de obicei necesară instalarea în sistemul găzduit a unui software furnizat de aceeaşi firmă care a scris software-ul de virtualizare.

De exemplu, în cazul VirtualBox este vorba de "VirtualBox Guest Additions", care este pur şi simplu o mică imagine ISO de CD conţinînd "drivere" pentru sistemul de operare găzduit, permiţînd rezolutii mai mari pentru display-ul virtual, acces la reţea, acces la directoare din sistemul de operare gazdă, acces la buffer-ul copy-paste din sistemul de operare gazdă etc.

În cazul VMWare de exemplu, acest software cu drivere se numeşte "VMWare Tools".

Întrucît eu folosesc VirtualBox versiunea 4.3.14, pe acest CD Linux am instalat VirtualBox Guest Additions 4.3.14. Ca urmare, dacă veţi folosi aceeaşi versiune de VirtualBox sau una mai recentă, veţi dispune din start de rezoluţii mai mari în acest CD Linux, plus toate celelalte facilităţi, fără a mai fi nevoie să instalaţi nimic altceva.

De aceea eu personal aş încuraja potenţialii utilizatori să folosească VirtualBox, dacă nu ultima versiune disponibilă, măcar 4.3.14 care se poate descărca de pe site-ul oficial AICI (versiunea 4.3.14 pentru Windows).
Acesta e un link de download direct pe care l-am luat de pe pagina oficială cu versiuni mai vechi unde puteţi găsi şi versiunea 4.3.14 pentru alte sisteme de operare gazdă.

Marele avantaj este că veţi putea transfera fişiere prin intermediul unui "shared folder" din sistemul gazdă, pe care UtiLinux îl va vedea ca director de reţea. Nu mai zic că veţi mai putea şi mări imediat rezoluţia display-ului virtual pur şi simplu redimensionînd cu mouse-ul fereastra maşinii virtuale (!!!)



Exemplu de setări pentru o maşină virtuală în VirtualBox pentru CoBra UtiLinux

Pentru cei nefamiliarizaţi cu maşini virtuale, am să prezint un exemplu de creare a unei maşini virtuale pentru această distribuţie Linux în VirtualBox. Folosesc versiunea 4.3.14 de VirtualBox pentru Linux, dar procedura este absolut identică în VirtualBox pentru Windows.

Porniţi VirtualBox şi daţi un click pe butonul "New" în toolbar. Va apare un dialog ca mai jos. Introduceţi ce se vede şi apăsaţi "Next":

În continuare alegeţi mărimea memoriei maşinii virtuale. Alegeţi un minim de 512 MB:

În continuare va apare un dialog pentru eventuale harddisk-uri ale maşinii virtuale. În cazul nostru nu avem nevoie de harddisk, aşa că selectaţi "Do not add a virtual harddrive" şi apăsaţi "Create":

Va apare un mesaj de avertisment în care apăsaţi pur şi simplu "Continue" pentru a trece mai departe:

În acest moment maşina virtuală este creată cu setările de mai jos. Mai este nevoie de cîteva mici modificări. Daţi un click pe "General" (sau pe butonul "Settings" din toolbar):

Selectaţi tab-ul "Advanced". Selectaţi ca mai jos "Bidirectional" în drop-down-urile "Shared Clipboard" şi "Drag'n'Drop" pentru a activa comunicaţia in ambele sensuri intre sistemul gazdă şi sistemul găzduit prin Copy-Paste şi Drag & Drop:

În partea stîngă selectaţi secţiunea "Display", după care în dreapta deplasaţi cursorul "Video Memory" pînă la maxim (128 MB). Puteţi bifa şi acceleraţia 3D dacă e nevoie:

În final, pentru a avea acces din Linux-ul găzduit la un director din sistemul de operare gazdă (cel mai probabil Windows în cazul vostru), în stînga selectaţi secţiunea "Shared Folders" după care în dreapta daţi un click pe butonul cu + pentru a selecta un director oarecare din sistemul gazdă:

Selectaţi un director (din sistemul gazdă), bifaţi "Auto-mount" şi apăsaţi OK.
"Auto-mount" vă va scuti de efortul suplimentar de a rula o comandă de genul "mount -t vboxsf tmp /home/knoppix/tmp" în Linux-ul găzduit. Un director cu numele "share_name" (cîmpul "Folder name" din dialogul de mai jos) care are şi optiunea de Auto-mount va fi disponibil în UtiLinux de la pornire în calea /media/sf_share_name. De exemplu în cazul de mai jos, share_name = tmp şi deci la pornirea UtiLinux va fi accesibil la /media/sf_tmp:



Setarea finală pentru "Shared Folders" va arăta cam ca mai jos:

Înainte de a porni maşina virtuală, din fereastra de setări la secţiunea "Storage" ataşaţi imaginea Linux CD ISO pentru CoBra (de oriunde o aveţi stocată prin sistemul gazdă) la unitatea DVD din maşina virtuală, după care apăsaţi OK:

În acest moment maşina virtuală este gata de pornire, aşa că apăsaţi butonul "Start" din toolbar şi distracţie plăcută!

O mică notă: pentru ca ceasul din UtiLinux să afişeze ora corectă (adică aceeaşi oră din sistemul gazdă, de ex. Windows) e nevoie de un mic truc: dezactivarea sincronizarii timpului între maşina virtuală şi software-ul de virtualizare. Am să prezint în continuare procedura de dezactivare pentru VirtualBox 4.3.14 şi pentru VMWare.



Utilitare CoBra disponibile pe acest CD

Toate aceste utilitare sînt accesibile din meniul de start, în submeniul CoBra, iar pentru cele care sînt utilitare de consolă este dată o descriere completă a sintaxei de folosire atunci cînd sînt lansate din meniul de start.

bin2tap



Lansat din meniul de start, arată cam aşa:



In fereastra de consolă care se deschide, este afişat un mic help pentru bin2tap după care se poate introduce orice comandă.

Acest utilitar este un script Bash care primeşte ca parametru un nume de fişier cu tot cu calea absolută sau relativă către el. Fişierul trebuie să conţină un bloc binar de cod Spectrum care se doreşte încărcat undeva în memoria Spectrum la o adresă NNNN (un număr hexa de 4 cifre). Pentru a fi folosit cu acest utilitar, fişierul trebuie denumit "FILENAME.hexdump.data.bin", unde FILENAME este orice nume de maxim 10 litere ales de utilizator dar restul numelui de fişier trebuie să fie exact ".hexdump.data.bin".

SINTAXĂ: într-o fereastră de consolă, rulaţi următoarea comandă:

bin2tap /path/to/FILENAME start=NNNN

unde /path/to este directorul conţinînd fişierul. Acest director trebuie să fie R/W (să poată fi scris de user-ul "knoppix").
Fişierul .TAP rezultat va fi salvat în acelaşi director sub numele de:
/path/to/FILENAME.tap

Am scris acest utilitar pentru a converti blocuri de cod Spectrum în fişiere .TAP, care apoi pot fi transferate mai departe într-o imagine floppy de dischetă DEVIL folosind utilitarul "CoBra DEVIL Disk Image Tool" descris mai jos.

CoBra CPM Disk Image Tool

Acesta este un program cu interfaţă grafică scris în C++ şi Qt (există două versiuni, una în Qt3 şi una în Qt4) care poate face transfer de fişiere între Linux şi o imagine RAW de dischetă CP/M CoBra. Un help complet este inclus în program şi poate fi văzut cu tasta F1. Spre deosebire de versiunea pentru Qt3, versiunea pentru Qt4 este ceva mai îmbunătăţită şi de exemplu poate transfera şi fişiere de mărime zero.

Lansată din meniul de start, versiunea pentru Qt3 arată cam aşa:



iar versiunea pentru Qt4 arată cam aşa:



De remarcat aici este că acest utilitar poate funcționa și numai în mod text în consolă, precum și în mod grafic, lansat fie din consolă fie fără nici un fel de consolă. Atunci cînd este lansat în mod grafic dintr-o consolă (așa cum este lansat din meniul de start), consola va afișa diverse mesaje în timpul folosirii utilitarului, care mesaje nu sînt altfel vizibile doar din interfața grafică.

CoBra DEVIL Disk Image Tool

Acesta este un program cu interfaţă grafică scris în C++ şi Qt (există două versiuni, una în Qt3 şi una în Qt4) care poate face transfer de fişiere (.TAP) între Linux şi o imagine RAW de dischetă DEVIL CoBra. Un help complet este inclus în program şi poate fi văzut cu tasta F1. Este un instrument destul de avansat, zic eu, poate face operaţii nu numai între imagini floppy DEVIL şi fişiere Linux, dar si operaţii pe fişiere .TAP (ştergeri, redenumiri, creare bloc header, inserare de noi blocuri etc.). Este util şi celor care nu au de-a face cu un calculator CoBra dar au de-a face cu compatibile Spectrum în general sau chiar şi numai cu un emulator Spectrum pentru care vor să scrie sau să manipuleze software.

Lansată din meniul de start, versiunea pentru Qt3 arată cam aşa:



iar versiunea pentru Qt4 arată cam aşa:



De remarcat aici este că acest utilitar poate funcționa și numai în mod text în consolă, precum și în mod grafic, lansat fie din consolă fie fără nici un fel de consolă. Atunci cînd este lansat în mod grafic dintr-o consolă (așa cum este lansat din meniul de start), consola va afișa diverse mesaje în timpul folosirii utilitarului, care mesaje nu sînt altfel vizibile doar din interfața grafică.

file-reverse



Lansat din meniul de start, arată cam aşa:



În fereastra de consolă care se deschide, este afişat un mic help pentru file-reverse după care se poate introduce orice comandă.

Acesta este un utilitar de consolă, scris în C, care acceptă ca parametru un nume de fişier cu tot cu cale relativă sau absolută (/path/to/filename). Conţinutul fişierului va fi extras în ordine inversă şi salvat într-un alt fişier în acelaşi director sub numele /path/to/filename-rev.
Am scris acest utilitar pentru a-mi fi mai uşor să dezasamblez codul CP/M salvat în ordine inversă în pistele sistem de pe unele dischete bootabile CoBra originale.

TD02RAW



Lansat din meniul de start, arată cam aşa:



În fereastra de consolă care se deschide, este afişat un mic help pentru TD02RAW după care se poate introduce orice comandă.

Acesta este un script Bash care acceptă ca parametru un nume de fişier (fără extensie!!), plus alţi doi parametri (opţionali) - un număr de pistă de iniţială şi unul de pistă de finală. Fişierul trebuie să conţină o imagine Teledisk de dischetă şi să aibă extensia .TD0 (litere mari!!) iar numerele de pistă specifică un domeniu de piste care vor fi extrase din imaginea Teledisk şi salvate într-o imagine floppy RAW, care apoi poate fi folosită cu utilitarul "CoBra CPM Disk Image Tool" sau poate fi solosită cu un emulator floppy hardware ca de exemplu HxC.

Dacă pista iniţială nu e specificată, va fi considerată implicit 0 iar pista finală 79. Dacă pista iniţială e specificată dar pista finală nu e, pista finală va fi considerată implicit 79.

HexEdit



Acest utilitar nu este scris de mine, l-am instalat pur și simplu ca pachet Debian și un help complet pentru el poate fi afișat într-o fereastră de consolă cu comanda:
man hexedit

Lansat din meniul de start, arată cam aşa:



În fereastra de consolă care se deschide trebuie introdusă o cale absolută spre fișierul care trebuie editat în mod hexa,



după care se apasă Enter și conținutul fișierului este afișat:


Pentru editare, fișierul trebuie să aibă permisiuni complete de citire-scriere (
chmod ugo+rw filename
).

Z80-ASM



Acest utilitar a fost scris de Bas Wijnen. Are un Home Page la http://savannah.nongnu.org/projects/z80asm/.
L-am instalat ca pachet Debian cînd am asamblat acest remaster Knopppix.
Lansat din meniul de start, arată cam aşa:



În fereastra de consolă care se deschide, este afişat un mic help pentru el, după care se poate introduce orice comandă.

Z80-DASM



Acest utilitar este în mare parte derivat din DZ80, care a fost scris de Jan Panteltje. Îmbunătățiri și bugfix-uri au fost făcute de Tomaz Solc.
L-am instalat ca pachet Debian cînd am asamblat acest remaster Knopppix.
Lansat din meniul de start, arată cam aşa:



În fereastra de consolă care se deschide, este afişat un mic help pentru el, după care se poate introduce orice comandă.