Ciao a tutti, ecco il risultato di 2 giorni di lavoro per creare CyborgOS — ok, tecnicamente sono anni di pianificazione — ma alla fine ha preso forma in 2 giorni.
Non sarebbe stato così semplice senza NTC BASIC, con cui è stato sviluppato. Se l’aveste provato un giorno fa… andava a lumaca, ora invece ronza che è una bellezza. Per ora ho dovuto ideare un nuovo meccanismo di directory — e sto ancora usando le ROM di AMSDOS / UNIDOS — niente male, ma significa che questo potrebbe essere l’ultimo modello a funzionare su una macchina da 128 kb. Ho già dovuto ridurre gli elenchi di memoria che supportano 4 gb a 3 gb e rimuovere il double buffering da CyborgOS per gestire un singolo task da 64 kb su un computer da 128 kb. Potrebbe restare in circolazione se separo le build, ma non credo che la versione da 128 kb sarà la piattaforma definitiva. È ora di fare l’upgrade per tutti: prendetevi 512 kb di RAM, o… 1 mb, o 4 mb!
Al momento è possibile creare programmi CP/M usando NTC BASIC ed eseguirli da lì. BDOS molto limitato (input/output, nessun vero file system per ora), BIOS in arrivo, forse… (probabilmente nella versione da 320 kb+).
Io
Ora c’è il pieno supporto a UniDOS: è un requisito essenziale! Le unità floppy non sono supportate nel senso tradizionale, ma viene fornita l’utility «floppy» per consentire il trasferimento delle immagini disco sulla memoria di massa.
I programmi CP/M stanno acquisendo una compatibilità sempre maggiore: quasi tutto gira liscio, a parte qualche sporadico bug qua e là (bug di sistema, non legati alle singole applicazioni) su cui sto lavorando, ad esempio… gestione dei file, tastiera o display.
Non c’è niente di meglio che fare il debug dei programmi CP/M direttamente sullo stesso computer su cui sono in esecuzione!
Se cercavi il miglior sistema CPC/CPM su CPC, compreso il corretto comportamento di WinAPE a prestazioni 10 volte superiori… eseguire 20 copie di BBC BASIC contemporaneamente? O qualcos’altro? Sono sicuro che tra qualche giorno andrà ancora meglio. Questo è il giorno 3. Per chiunque voglia imparare a programmare un hypervisor in BASIC con assembler inline, il codice sorgente completo è a disposizione ed è davvero facile da capire. Ho mantenuto anche la piena funzionalità del double-buffer nella memoria principale: sto facendo i salti mortali per conservarla, dato che molte migliorie si pappano un po’ di memoria principale, ma non ho problemi di spazio con i driver, quelli vanno altrove (sideways).
Oggi vengono introdotti l’accesso a Internet tramite M4 Card, oltre a una mini rete neurale (NeuralNet) e IA basate su alberi decisionali. Puoi giocare con Pet (un cucciolo virtuale in stile Tamagotchi) e Ratbox (una scatola piena di ratti), entrambi gestiti dall’albero decisionale. L’introduzione di servizi con porte denominate consente ai servizi dotati di modello di funzionare in uno slot e alle applicazioni in altri slot di utilizzarli: vengono spiegati esempi su come programmare un bridge tra una scheda I/O reale e i modelli di alberi decisionali, così da poter gestire, ad esempio, la tua serra direttamente dal tuo CPC.