
Nije to ta...

Sve je to krenulo naivno...
Prvo kao neko sitno crackovanje programa, a kasnije kao modifikovanje software-a mog tadashnjeg telefona, Siemens SL42.
Nabudzio sam ga da bude isti kao SL45, neka pricha slicha kao budzenje pa50 na pa80.

Kazem slichna, poshto razlike u hardware-u nije bilo...
Naleteo sam na netu na neka objashnjenja kako da modifikujem neke sitnice i dobijem dodatne opcije na fonu.
Onda skapiram da je modelima isti hardware, i odluchim se da prepeglam sistem mog fona sa firmware-om sa SL45.
Upalilo je bez ikakvih dorada.
Onda skapiram gde i u kom obliku se telefonu shta nalazi, i krenem da menjam...
I dobijem ono shto mi treba...
Onda skapiram da isti princip mogu da promenim i na klavijaturi...
Potreban je neki tekst editor koji moze da edituje binarne fajlove.
UltraEdit radi posao na windozi.
Onda je sa windasm i soft ice raspakivanje software-a na asamblerski kod, pa zatim analiza koda.
Tu ischeprkam na kojim memorijskim lokacijama se shta nalazi.
Mene su interesovali ritmovi.
Iskopao sam gde su i kako zapisani.
Bilo je malo zajebancija provaliti u kako pretvoriti taj ritam u mashinski kod...
Ne mala, nego velika zajebancija...............
Malo sam kopao dokumentaciju koju je yamaha stavila na ner, malo vece prouchavanje general midi-a, pa polako...
Uspem da napravim kakav-takav prevodilac koji je radio posao.
Sa Ultra Edit-om, po principu copy paste, zamenim deo koda koji je predstavljao jedan fabrichki ritam sa mojim konvertovanim i fleshujem.
Radi!
Unda se ja tu, ohrabren prethodnim uspehom, zaletim i krenem da menjam redom.
Avaj, prevideo sam bitnu chinjenicu.
Program je napisan tako, zbog optimizacije brzine rada softwera, da ne gadja ritmove po nekom file systemu ili ne znam ni ja chemu, vec da dohvata ritam sa unapred odredjene memorijske lokacije.
Dakle, ima tabelu sa ritmovima, i oznakom pochetne lokacije bloka na kome se nalazi ritam.
Je o tome nisam vodio rachuna kada sam punio...
Punio sam ritmove jednog za drugim, a nisam obracao paznju da ritam sa kojim menjam originalni mora da zahvata isti ili manji memorijski blok kao original, inache zalazim u blok sledeceg ritma.
U prevodu, samo mi je prvi ritam bio na pravom mestu, dok su svi ostali bili ko zna gde...
Tipa, drugi je pochinjao na pola prvog, umesto na pochetku drugog, ili je pochinjao na pola drugog, ako je prvi bio predug.
Kada su manji od originala, greshka se moze izbeci popunjavanjem praznog prostora nulama, ali kada su veci, ne mozz da se izbegne nikako...
Najgore od svega, a to je ono shto je upropastilo sistem, je shto sam ja kao izbrojao koliki BROJ ritmova moze da stane, umesto koliko podataka, i koja je duzina zvakog ritma, tako da sam najverovatnije pomakao i lokacije ostatka sistema, i time napravio malu Hiroshimu i Nagasaki...
To je najblize koliko sam prishao Japanu i Yamahi...

Ne znam kako funkcionishe podizanje sistema na rolandu...
Ako bi bila varijanta sa loaderom koji se ne vezuje za neki bios, onda bi mozda i mogle da se odrade neke zezalice, kao shto se moze igrati sa loaderom vezanim za efi, kao na na iPhone-u i Macintosh-ima.
Tu nema shta da se zajebe, i uvek se da cushnuti neki novi sistem...
Ako je loader vezan za bios, moguce je igrati se, ali ako se sprzi to shto lichi na bios, povratak iz mrtvih nece biti lak...
Ja sam imao srecu da nisam sprzio to shto lichi na bios, tako da sam uspeo nekako da vratim originalni sistem.
Msm, tada sam skapirao da nije nemoguce, ali je potrebno ili detaljno voditi rachuna o rasporedu stvari po memoriji, ili praviti novu tabelu u kojoj se definishe gde je shta, poshto to software ne radi dinamichki na psr9000.
Msm, realno, sve je moguce, ali koliko je to dobro i potrebno raditi nisam siguran...
Da je to neki projekat tipa prerade pa50 na pa80, pa i nekako...
Da zna chovek da mu se moze isplatiti, jer je velik broj uredjaja, a i nije ogroman zahvat...
Ovako, ovo ne znam ni koliko i da li bi bilo isplativo, a ima da se otegnu j***a od posla...