Sony SEG-2000

From Helsinki Hacklabin wiki
Jump to navigation Jump to search


{{#if: |
[[Tiedosto:{{{kuva}}}|290px]]{{#if: |

{{{kuvateksti}}}

| }}
| }}

Sony SEG-2000

{{#if:none | | }} {{#if: | | }}
Tyyppi: Reverse engineering + modaus
Tekijät: jari, depili
Aloitettu: 2018
Tila: Kesken
GitHub: [none]
URL: [{{{url}}}]


Labille ilmaantui Sony SEG-2000 Special Effects Generator, aikansa pro-videotekniikkaa suoraan 80-luvun alkupuolelta. Laitteessa on jokaista nappulamaanikkoa houkutteleva ohjauspaneeli painikkeineen, valoineen ja tyylikkäine ohjauskahvoineen. Pakkohan tuosta on modata ohjain johonkin vielä tarkemmin määrittelemättömään käyttöön. Modaus edellyttää tietysti ensin reverse engineeringiä.

Seg2000 yleiskuva.jpg

Kotelon tilavuudesta suurin osa kuluu analogista komposiittivideota käsitteleviin komponentteihin. Näihin ei tässä projektissa kiinnitetty sen enempää huomiota, vaan kiinnostus kohdistui ensisijaisesti kahteen isoon piirilevyyn, jotka nousevat kannen mukana ylös. Nämä levyt sisältävät ohjauspaneelin panikkeet, lamput, säätimet ja niitä kontrolloivan elektroniikan. Toisessa kuvassa näkyy laitteen kansi avattuna ja alempi kannen piirilevyistä irrotettuna kiinnityksistään, jolloin se pääsee johtojen varassa kääntymään alas. Ylempi piirilevyistä sisältää painikkeet ja lamput ja muutaman driveripiirin.

Kannen piirilevyt.jpg

Alemmalla kortilla vasemmalla alhaalla näkyy laitteen aivot: Intelin 8748-mikrokontrolleri DIP40-kotelossa, huikeat 1KB EPROM, 64B RAM. Tämä oli varsin suosittu kontrolleri 80-luvun alkuvuosina. Kontrollerin tehtävänä on lähinnä skannata painikkeet ja sen mukaan sytytellä lamppuja sekä jakaa on/off-ohjauksia analogiakorteille. Kontrolleri oli juotettuna piirilevylle, eli koodin lukemiseksi se piti juotella irti levyltä. Onneksi levy on yksipuolinen.

8748:n lukemiseen sopivaa laitetta ei ollut käytettävissä, joten piti rakentaa pikaisesti leipälaudalle kytkentä, joka lukee piirin sisällön ja dumppaa sen sarjaportista PC:lle. Tämä ei ole kovin vaikeaa 8048:n datalehteä seuraamalla, siellä luentasekvenssi on kuvattu. Lopuksi saatu binääri sitten läpi 8048-disassemblerista ja siinä se sitten on, laitteen ohjelma assembly-koodina.

Mikrokontrolleri tekee aika pienen osan toiminnoista, suurin osa on hardwarella, joten tätä selviteltiin ihan perinteiseen tapaan piirilevyltä yleismittarin kanssa kytkentöjä seuraten. Tuloksena syntyi kuva, miten lamppuja sytytellään ja painikkeita ja kytkimiä pystytään lukemaan. Mikrokontrollerin ohjelman lukeminen vahvisti näin syntyneitä käsityksiä.

Leipalautaohjaus.jpg

Lopuksi juoteltiin mikrokontrollerin tilalle naaraspuoliset piikkirimat ja tämän kautta sitten pykälää fiksumpi mikrokontrolleri leipälaudalla kiinni tekemään samoja asioita kuin alkuperäinenkin, tällä kertaa sarjaportin kautta ohjattuna. Nyt on olemassa kokeiluluontoinen ohjelma, jolla voi sarjaportista käskyttää lamppuja päälle ja pois ja joka kertoo sarjaporttiin, jos jotain painiketta painetaan tai kytkintä käännetään. Tämän pidemmälle tuota ei kannata tehdä, ennen kuin on käsitys, mitä laitteella on tarkoitus tehdä.

Reverse-projektin tulokset löytyy täältä: https://github.com/JKN0/SEG2000-reverse