LIST-komennosta

Aloittaja Kuuslankkumies, huhtikuu 15, 2012, 17:08

« edellinen - seuraava »

Kuuslankkumies

Eli siis, jos teen ohjelman BASICilla ja haluan julkaista sen, mutta en halua ohjelman käyttäjien lueskelevan miten ohjelma on tehty, niin miten saan sen niin, että LIST-komento ei näytä koodia? Esim. joissakin indie-peleissä kun tekee list komennon niin ruutuun tulee vain jotakin tyyliin "10 SYS 20660" tjsp.
Kunniaa Commodorelle

Jarskimo

Itse en osaa sanoa tähän oikein mitään. Mutta tiettääkseni BASIC ohjelmissa tuota ei saa pois näkyvistä. Ja tuo "10 SYS 20660" tarkoittaa varmaan sitä, että peli on koodattu jollain konekielellä, eikä BASICillä

Kuuslankkumies

Aa ok, aattelin vaan että jotenkin saisi tuon BASIC-ohjelman laitettua konekieliseksi aliohjelmaksi tai jotain?
Kunniaa Commodorelle

virgo

periaatteessa Basic ohjelma voi sijaita muualakin kuin $0801 osoitteessa
tämä vaatii kuitenkin muutamien nollasivun osoiteiden nybläämistä
ja tallentaminen hankaloituu ;( ja muutenkin vaikea aloittelijalle toteuttaa

on olemassa yksi konsti jolla saa list komennon suorittamaan basic käskyjä listauksessa
tämä on siitä näppärä jekku ettei sitä voi kiertää ja se on aina toiminnassa
poistaminenkin onnistuu vain jos tietää millä rivillä jekku on ja poistaa kyseisen rivin
valitettavasti ei nyt voi neuvoa miten se tapahtuu koska siihen vaadittaisiin aito C64 kone
emullakin toki jekku onnistuu mutta näppis sijoittelu vaikeuttaa asiaa erikois näppäinten muodossa
suomeksi niitä on vaikea löytää ja vielä vaikeampi kirjoittaa normaaliin textiin
mutta huomenna kun pääsen alkuperäisen raudan ääreen voin tehdä ruutu kaappauksen ja selittää tarkemmin miten
systeemi toimii ;)
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

Kuuslankkumies

Odotan innolla. Aitoa kuusnepaa käytänkin, joten tuo jekku tulee olemaan varmasti käyttökelpoinen.
Kunniaa Commodorelle

rams

Lainaus käyttäjältä: virgo - huhtikuu 15, 2012, 20:52
periaatteessa Basic ohjelma voi sijaita muualakin kuin $0801 osoitteessa
tämä vaatii kuitenkin muutamien nollasivun osoiteiden nybläämistä
ja tallentaminen hankaloituu ;( ja muutenkin vaikea aloittelijalle toteuttaa

No mähän en tästä mitään tiedä, mutta eikö kyseessä kuitenkin vain ole Basic:n alkuosoitteen muutos ja Basic koodin tallentaminen ",8,1":llä? Tai jotain muuta sinne päin.

virgo

ok yritän tässä nyt muistella miten homma tehtiin... tuo basicin siirtäminen meinaan
ensin pitää kirjoittaa basic ohjelma jonka meinaa salata
tämän jälkeen pitää kirjoittaa konekieli ohjelma joka muokkaa
basicin alkuosoitteita ja loppu osoitetta
tämän jälkeen ladataan konekielimonitorilla basic oikeaan osoitteeseen muistiin
kun tiedetään kuinka pitkälle basic ylttää mujistissa voidaan monitorilla korjata basic loppuosoitteen
paikalleen
tämän jälkeen tallennetaan ohjelma $0801-xxxx
basicin loppu osoitteeseen asti

homma ei onnistu ilman konekieli monitoria :(

mutta hei... tuli juurikin mieleen yksi toinen ja melkein parempikin konsti
omistan Basic kääntäjän joka ruuvaa ohjelmasta konekielisen version
ja siitä jää jäljelle vain tuo sys xxxx ja ohjelmakoodia ei sen jälkeen pystys basic koodina näkemään ;)
niin ja nopeus tietenkin tietyissä operaatioissa nopeutuu samalla melko huomattavasti....
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

Jake64

Itsekkin aikoinani käänsin erään basic-kielisen ohjelman petspeedillä konekieliseksi. Ainut tarve oli nopeuttaa ohjelman suoritusta, kysessä kun oli eräs arkistointiohjelma, jolla sai laitettua pelit ylös ja sitten haettua sieltä, kun halus jotain peliä pelata sadan disketin joukosta.

Pitää vain huomioida, etää kaikki kääntäjät eivät huoli kaikkia käskyjä, mutta kokeilemallahan se selviää toimiiko ohjelma. Ohjelmassa ei myöskään saa olla virheitä, kääntäjä yleensä kaatuu siihen. 

virgo

pitääkö järjestää kisa kumman kääntäjä on tehokkaampi :p

Commodore tapahtumassa vois kehitellä jotain kisaa tietyn näköisten basic ruutiinien
nopeus enkaksi kuka tekee tehokaimman rutiinin basicilla xD
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

Kuuslankkumies

Kun itseltäni löytyy pelkkä kasettiasema, niin löytyykö mitään kasettiohjelmaa jolla saa tuon basic-ohjelmakoodin näkymättömiin?
Kunniaa Commodorelle

Jake64

Lainaus käyttäjältä: virgo - huhtikuu 16, 2012, 12:47
pitääkö järjestää kisa kumman kääntäjä on tehokkaampi :p

Ei ainakaan tolla petspeedilla kannatta nopeuskilpailuja kokeilla muihin verrattuna. Esitteessä sanottiin 40x nopeus basiciin verrattuna, mutta lieneekö totta.

Äsken yritin käännellä tuota arkistointiohjelmaa muilla kääntäjillä, nin eipä nuo kääntyneetkään. Johtunee siitä, että ohjelma lataa konekielisen levyhakenistorutiinin 828- eteenpäin. Samoin saattaa olla, että kaikilla muuttujilla ei ole aloitusarvoja, kun basicissa ne oletuksena on nollia tai merkkijonoilla tyhjiä.

Jake64

#11
Lainaus käyttäjältä: Kuuslankkumies - huhtikuu 16, 2012, 19:32
Kun itseltäni löytyy pelkkä kasettiasema, niin löytyykö mitään kasettiohjelmaa jolla saa tuon basic-ohjelmakoodin näkymättömiin?

Tuossapa eräs sivusto, joka osui silmään:
http://www.atarimagazines.com/compute/issue38/087_1_COMMODORE_REM_REVEALED.php

REM lauseeseen kun laittaa esim
10 REM shift+L
niin tulee syntax error listatessa

parempi vielä, kun laittaa
10 REM "tttttttt"shift+L         tttttttt on käänteisiä  pikku t-kirjaimia ja shift+L grafiikamerkki shiftattu-L

tällöin rivinumerokin jää näkyvistä pois ja listatessa tulee syntax error tuon rivin kohdalla. Tuolle rivinumerolle kannattaisi laitella ennen remiä jotain toimintoja, eli jos poistaa tuon rivin, niin eipä suoritus aivan ole oikeanmukainbn. tällöin täytyy noita käänteisiä t-merkkejä lisätä tarpeen mukaan.
Näitä rem-lauseita sitten pitkin ohjelmaa, nini onpahan ainakin selvittäjällä iso homma ratkaista ohjelman juoni.

Pitää  vain muistaa jättää itselle kopio, missä ei ole noita rem lauseita.  On muuten hankala korjata ohjelmaa noitten lisäyksien jälkeen

virgo

jake jo ehtikin näköjään kertoilla miten hommeli toimii ;-)

itse jumiuduin leikkimään cameleonilla sori...

Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

Jake64

Lainaus käyttäjältä: virgo - huhtikuu 16, 2012, 22:33
itse jumiuduin leikkimään cameleonilla sori...

Laitteleppa testituloksia ja kokemuksia laitteesta. Ehkäpä laitan sitten tilauslistalle jossain vaiheessa, vaikka mielellään odottelen tuon beta-version jälkeistä laitetta...

Kuuslankkumies

Lainaus käyttäjältä: Jake64 - huhtikuu 16, 2012, 20:10
Lainaus käyttäjältä: Kuuslankkumies - huhtikuu 16, 2012, 19:32
Kun itseltäni löytyy pelkkä kasettiasema, niin löytyykö mitään kasettiohjelmaa jolla saa tuon basic-ohjelmakoodin näkymättömiin?

Tuossapa eräs sivusto, joka osui silmään:
http://www.atarimagazines.com/compute/issue38/087_1_COMMODORE_REM_REVEALED.php

REM lauseeseen kun laittaa esim
10 REM shift+L
niin tulee syntax error listatessa

parempi vielä, kun laittaa
10 REM "tttttttt"shift+L         tttttttt on käänteisiä  pikku t-kirjaimia ja shift+L grafiikamerkki shiftattu-L

tällöin rivinumerokin jää näkyvistä pois ja listatessa tulee syntax error tuon rivin kohdalla. Tuolle rivinumerolle kannattaisi laitella ennen remiä jotain toimintoja, eli jos poistaa tuon rivin, niin eipä suoritus aivan ole oikeanmukainbn. tällöin täytyy noita käänteisiä t-merkkejä lisätä tarpeen mukaan.
Näitä rem-lauseita sitten pitkin ohjelmaa, nini onpahan ainakin selvittäjällä iso homma ratkaista ohjelman juoni.

Pitää  vain muistaa jättää itselle kopio, missä ei ole noita rem lauseita.  On muuten hankala korjata ohjelmaa noitten lisäyksien jälkeen
Joo, kiitos tästä! Pitää sitten vaan laitella noita REMeja ohjelmaan.
Kunniaa Commodorelle