11 dicembre 2025

Ho realizzato un port di Doom con Flutter e dart:ffi

Premessa: ho sempre voluto mettere mano al codice sorgente di Doom e studiarlo un pochino, ma per qualche motivo non l'ho mai fatto; troppo poco tempo a disposizione e anche una dose non piccola di pigrizia. Fino ad ora.

Ormai è esattamente un anno che lavoro su Flutter, sia nel mio lavoro diurno, che per i miei progetti personali. L'app che sto sviluppando per il mio lavoro diurno mi ha permesso di iniziare a conoscere l'ambiente Flutter, ma è fondamentalmente un software gestionale dove faccio delle CRUD, roba non molto interessante dal punto di vista prettamente informatico; si tratta di creare delle viste, dei pulsanti e collegarli a dei servizi remoti realizzati in PHP.

Nei miei progetti personali mi piace andare oltre e fare qualcosa di più interessante. Se c'è qualcuno che legge questo blog o mi segue su Twitter sa che sto lavorando a un'app che emula il sintetizzatore Omnichord, un progetto che vede l'UI scritta con Dart/Flutter e il motore audio scritto in C++, con un bridge realizzato mediante quella meraviglia chiamata dart:ffi.

Ed è da qui che voglio partire, perchè circa due settimane fa mi sono chiesto: Flutter può far girare Doom?

Tags: flutter, dart, c, doom
22 novembre 2025

PageView in 3D con Flutter

Sono 3 mesi che sono assente dal blog, sto lavorando duro sull'app Omnichord e il tempo è sempre poco. Presto tornerò a parlare dello sviluppo del motore audio.
In questo post voglio invece parlare di un piccolo sviluppo frontend su Flutter nella mia app.
Nella vista landscape ho una sezione dedicata ai controlli dei parametri, divisa in più pagine scorrevoli.

Volevo evitare l'effetto di scorrimento e volevo un effetto più gradevole alla vista, perchè odio quando nelle interfacce una parte di UI scorre venendo troncata nel vuoto. Ho pensato che poteva essere carina una rotazione in 3D.

24 agosto 2025

Sviluppare un emulatore del Suzuki Omnichord (parte 2)

Nella prima parte di questa serie ho affrontato la scelta dello stack tecnologico e l'ottimizzazione della latenza.
L'obiettivo sarà quello di creare un emulatore del Suzuki Omnichord per la piattaforma Android.

In questa seconda parte vedremo come sono riuscito a "clonare" il caratteristico suono degli accordi dell'Omnichord.

Come già scritto in precedenza, questa serie di articoli non saranno dei tutorial, ma un'analisi sulle scelte progettuali e sulla risoluzione dei problemi trovati durante il percorso.

20 agosto 2025

Sviluppare un emulatore del Suzuki Omnichord (parte 1)

Sono anni che bramo l'Omnichord, da quando l'ho scoperto una quindicina di anni fa e comprarne uno a un prezzo umano non era impossibile. E ho anche avuto diverse occasioni per farlo, ma alla fine non l'ho mai acquistato e di questo mi sono molto pentito, perché da quando è diventato uno strumento "mainstream", probabilmente grazie a Damon Albarn (su YouTube c'è un video bellissimo in cui si vede Damon che spiega come ha composto 'Clint Eastwood' dei Gorillaz), i prezzi sono saliti in modo sproporzionato.

Per non parlare del costo della reissue proposta dalla Suzuki per la modica cifra di 800 euro, un prezzo davvero popolare, non c'è che dire!
Non ho voglia di spendere tutti questi soldi per un hobby che non mi ha mai fatto guadagnare nulla, anzi, ci ho sempre rimesso!

Essendo principalmente un programmatore, la cosa più logica è realizzare un emulatore software. Certo, qualche emulatore esiste già, ma non mi sembra che copra tutte le possibilità di questo strumento. Forse quello più completo sembra quello realizzato per iOS, C.ARP, però dai video che ho visto sembra più una reinterpretazione in chiave moderna che un emulatore a tutti gli effetti.

Quindi da circa un mese ho deciso di lavorarci su. Dopotutto, perché no?
Ho sempre bisogno di un side project e questo sembra particolarmente divertente.

21 giugno 2025

Riparazione del pulitore ad ultrasuoni Skymen ZX-810

Riparazione del pulitore ad ultrasuoni Skymen ZX-810
Questo pulitore ad ultrasuoni l'ho acquistato il 4 Maggio 2024 (ho controllato lo storico dei miei acquisti su Amazon), purtroppo dopo appena un anno ha deciso di "tirare le cuoia", non dando più alcun segno di vita.

Come si è visto nei post precedenti (guarda il restauro della Casio VL-5 e del controller Savage Ghibli LD-224), questo attrezzo è molto utile nei miei restauri perché mi permette di ottenere pulizie molto accurate di qualsiasi oggetto che riesca a contenere.
E pensare che inizialmente l'avevo acquistato solo per pulire gli occhiali!

Anche se non ha un costo eccessivo, mi dà parecchio fastidio darla vinta al capitalismo e comprarne un altro, quindi tenterò una riparazione.

5 giugno 2025

Costruzione di un Remote Shutter per una Canon Powershot con CHDK

Costruzione di un Remote Shutter per una Canon Powershot con CHDK
In questo post vediamo come costruire un remote shutter per una Canon Powershot A610 (in realtà anche per tanti altri modelli).

Vorrei sperimentare con il monopiede e scattare foto in posizioni non convenzionali, come ad esempio dall'alto; questo accessorio tornerebbe molto utile a questo scopo.

Potrebbe anche essere utile per fotografie a lunga esposizione, in quanto la pressione del tasto di scatto solitamente fa vibrare la macchina, e quelle vibrazioni, anche se impercettibili, potrebbero compromettere la buona riuscita delle foto.

Di default questa macchina non prevede la funzionalità dello scatto remoto, ma c'è un modo per aggiungerla: installare il firmware CHDK.

26 maggio 2025

Restauro della tastiera vintage Casio VL-5

Restauro della tastiera vintage Casio VL-5
Erano anni che volevo mettere le mani sulla sua sorella maggiore, la Casio VL-1, quella resa famosa dai Trio nella canzone "Da Da Da". Recentemente, però, mi è capitata questa VL-5 su mercatinomusicale.com a un prezzo abbastanza ragionevole.
Venduta come non funzionante, non ho saputo resisterle.

Queste tastiere, prodotte in Giappone a partire dalla fine degli anni '70, si sono distinte per essere una via di mezzo tra un giocattolo e uno strumento serio: un ibrido davvero interessante.

14 maggio 2025

Canon Powershot 600: dovrebbe stare in un museo

Canon Powershot 600: dovrebbe stare in un museo
Mi è capitata su Wallapop ad un prezzo davvero basso questa Canon Powershot 600, che a quanto pare è stata la prima fotocamera digitale prodotta da Canon nel lontano 1996.

Mi è stata venduta come non funzionante in quanto il venditore, non avendo più il caricabatterie, non era in grado di capire se funzionasse ancora oppure no. Decido di tentare la fortuna e la acquisto.

11 maggio 2025

Canon Powershot 350: una reliquia del 1997 nel 2025

Canon Powershot 350: una reliquia del 1997 nel 2025
Un pomeriggio di Maggio a Udine con una fotocamera digitale del 1997.
All'epoca avevo 13 anni e non sapevo neanche cosa fosse una fotocamera digitale.

Doveva essere costosissima, e se qualcuno me l'avesse regalata probabilmente sarei uscito fuori di testa: una quantità illimitata di fotografie, senza la necessità di recarsi ad uno studio fotografico per farle sviluppare, e con la possibilità di revisionarle appena scattate? Sarebbe stato come vivere in un film fantascientifico!

3 maggio 2025

Fujifilm MV-1, modifica Full Spectrum

Fujifilm MV-1, modifica Full Spectrum
Dopo averla riparata, provata e constatato che si tratta di un oggetto di scarso valore (vedi post), ho deciso che l'unica cosa sensata da fare con questa fotocamera è usarla come base per qualche modifica "creativa".
Potrebbe essere divertente provare a utilizzarla nonostante i suoi evidenti limiti.

Una modifica semplice potrebbe essere quella di trasformarla in una fotocamera full spectrum.