PSXScope

psxinterfaceQuando ho messo per la prima volta le mani sulla PlayStation, il suo controller mi è piaciuto parecchio, tanto che avevo pensato di utilizzarlo anche altrove. Mi sono messo a cercare informazioni sul protocollo utilizzato per la comunicazione con la console, ma non ho trovato un bel niente!

Mi sono quindi fatto prestare un oscilloscopio (lo Zeroplus LAP-C è arrivato molti molti molti anni dopo), e ho cominciato a sbrogliare il protocollo a mano.

Il programma in questione (che poi ho usato anche per altro, dato che di fatto non era altro che un analizzatore logico) mi ha aiutato psxinterfacehwmolto nel reverse engineering, dato che i due canali dell’oscilloscopio non erano sufficienti. Il programma, assieme ad una interfaccia hardware (rigorosamente cablata su millefori, come quasi tutti i miei prototipi… adoro l’effetto gomitolo di lana dopo che è stato aggredito da un branco di felini :) ) connessa alla porta parallela del PC, alla playstation e al joypad, può generare un’arbitraria sequenza di dati su ogni piedino di uscita, catturando nel contempo lo stato di tutti i segnali presenti sul controller.

MP3 Jukebox

juke1Il mio primissimo jukeboxe MP3. No, gli iPod non c’erano, ma nemmeno i creative Nomad o i Diamond RIO…  ;)

C’è un PC dietro, ovviamente, avevo anche in mente di usare la scheda col decoder hardware ma questioni di tempo (e di voglia, ahemm…) me lo hanno impedito.
Il PC è stato messo in un apposito case già dotato di pannellino frontale con LCD 2×16 e un piccolo tastierino. Quest’ultimo è stato interfacciato con winamp da un plugin scritto appositamente.

La seconda versione del pannello frontale invece, con LCD 4×20, era invece collegata in emulazione di tastiera, con il PC nascosto juke2dentro un vano del mobile. Il PC (un modesto Pentium 133 con 20 giga di HD) parte con una configurazione particolare di windows98, che permette lo spegnimento “al volo” senza alcun problema. Il PC è senza monitor e floppy, ma viene caricato all’avvio oltre a winamp, tutto il sottosistema di rete (in modo da poter caricare i brani e le playlist in remoto) e un server VNC. Ho poi inserito un ricevitore interno che mi permette di accenderlo e spegnerlo e di controllare alcune funzioni tramite i comandi X10 via rete elettrica.

AxeKey e AxeKey Programmer

Primo prototipo della chiave hardware

La AxeKey è una chiave hardware su porta parallela per la protezione di software.

La chiave mi è stata richiesta dalla Geo&Soft di Torino ed è stata realizzata con l’oramai dimenticato PIC16C54 e con uno dei primi sistemi di sviluppo di Microchip arrivati in Italia.

La chiave è dotata di 64 bytes di payload salvati in eeprom interna, e di un certo numero di funzioni (sia challenge-response che di calcolo) a bordo. Ho sviluppato anche le necessarie librerie per permettere al software da proteggere di chiamare le funzioni a bordo della chiave.

Dialog del programmatore per la chiave

Il committente non ha fatto poi uso della eeprom interna, quindi il software di programmazione l’ho scritto in un secondo tempo, per un utilizzo personale della AxeKey.