Uutiset:

C=Foorumi suosittelee: Skrolli
http://www.skrolli.fi

Main Menu
Menu

Näytä viestit

Tämä jakso sallii sinun katsoa tämän jäsenen kaikkia viestejä. Huomaa, että näet vain niiden alueiden viestit, joihin sinulla on nyt pääsy.

Näytä viestit Menu

Viestit - virgo

#286
Viimeisin havainto Gurulandiasta on Tampereen Vapriikista missä kyseisen purkin A4000 on
näytteillä
http://saku.bbs.fi/discus/messages/2593/10546.html?1475763813

Nippeli tietona G-point pystytettiin aikanaa myös torjumaan viestiketjun katkeamis uhkaa
kun Gurulandia päätti lopettaa niin pirkanmaa olisi jäänyt täysin ilman omaa Saku Fido purkkia
joten omani pystytettiin paikkaamaan tätä järisyttävää puutetta :) muiden syiden lisäksi
vaikka samalla kylällä Gurulandian kanssa asusteltiin emme koskaan nähneet naamatusten
ainoastaan purkkiemme välityksellä vaihdoimme kuulumisia :)
#287
Bitin Nypläys / Basic kopio suojaukset tms.
lokakuu 02, 2016, 16:24
jokainen on varmasti jossain vaiheessa nähnyt ohjelman josta ei saa esille edes ohjelma listausta
tai levyltä hakemistoa

list komento loppuu Error ilmoitukseen

miten siis oma Basic ohjelma suojataan uteliailta silmiltä ?

tämä jekku on ehkä helpoimpia ikinä

10 rem L

se päätää List komennon siihen paikkaan (ellei se ole "L" lainausmerkkien sisällä)
syntax Error ilmoituksella

miksi näin tapahtuu ?

C64 basic on tavallaan valmiiksi pakattua mikä tekee sitä melko tiivistä
jos katsot Basic ohjelmaa Konekieli monitorin lävitse...

10 print "hei"

et löydä koodista print merkintää mistään
vaan print käsky on yhden tavun mittainen koodi $99 minkä jälkeen tulee lainausmerki ja HEI texti
tässä vielä Token taulukko muistakin käskyistä
http://sta.c64.org/cbm64basins2.html

ilmeisesti L merkkii ($cc) on alunperin ollut jokin komento. Kuten Token taulukosta
näkee lista loppuu $CB
olisikohan käynyt niin että seuraava komento on poistettu mutta
jotain on jäänyt tekemättä ja list komento koittaa tulostaa kyseisen puuttuvan käskyn
jota ei ole ja näin kohtaa sisäisen virheen

vastaavasti Basic tulkkia voi myös huijata tekemään juttuja Control koodeilla
esimerkiksi listaukseen voi lisätä kohtia jotka muuttavat listauksen väriä
tai putsaavat ruudun tms.

homman jujuna on jälleen kerran Rem käsky
sen on siitä kätevä että mitä ikinä käskyn jälkeen tekeekin se ei sekoita ohjelman suoritusta
mutta listauksen näyttämisen sen jälkeiset temput voivat sotkea täysin
jossain harmaiden aivosolujen uumenissa kummitteleen sellainenkin jippo millä pystyi
listauksessa käynnistämään ohjelman. mutta nyt ei muistu mieleen  miten se tehtiin

ainoa vaikeus on saada invertoidut merkit kirjoitettua listaukseen
mikä hieman vaatii harjoittelua
normaalistihan lainaus merkkien sisään voi kirjoitella vaikka mitä PETasci koodia
ilman että se mitenkään vaikuttaa listauksen tulostamiseen
mutta poikkeuksiakin on

yksi tärkeimistä on $8d return millä saadaan lainausmerkien vaikutus kumottua listausta tulostettaessa. tämän jälkeen tulkki alkaakin tulostaa komento koodeja mielesi mukaan
esim.
10 rem ""<del><sift+del><sift+del><rev><sift+m><sift+home> return

jos homma meni putkeen pitäisi list komennon aina putsata ruutu ja aloittaa
rivin 10 jälkeisten rivien tulostaminen ruudun alusta
jos jekkua koittaa ilman lainaus merkkejä tulkki korjaa asian parhaalla näkemällään tavalla
jos lainaus merkkejä on vain yksi ei reverce modia pysty aktivoimaan
vaan ruudulle tulostuu invertoitu r mikä ei siis toimi
jos 2x<sift+del> jää tekemättä yrittäessäsi <sift+home> ruutu tyhjenee

jos asiasta on kysyttävää tai lisää tietoa niin jatketaan toki juttua :)

#288
Bitin Nypläys / Vs: Kassun säätö ohjelma
lokakuu 02, 2016, 15:30
nostetaas tätäkin ettei unohdu
Pet asci taitelijaa edelleen hajetaan xD
#289
Yleinen Commodore-keskustelu. / Rock Lobster
syyskuu 16, 2016, 11:52
tuossa kaivelin Scemojani ja sattumalta huomasin
kommentit alalaidassa joita en aikaisemmin ollut huomannut :)
kuten hyvin on tiedossa C= tekijät harrastivat hassun hauskaa kommentointia
niin scemoissa kuin itse tuotteissa :)

tunnistatteko alueen mistä napattu xD

tässä kokoelma A2000 Scemoista
Rock Lobster 05/04/1986
#290
en muista ratkesiko tämä mutta laitetaan nyt linkkiä mistä mahdollinen toimiva versio voisi löytyä
http://www.planetemu.net/roms/commodore-c64-games-d64?page=E
#292
Kuten huomasit niin varasin 0 huonee johonkin spesiaaliin :)
Huone numeron muuttamisella miinus puoleiseksikin saa joitakin asioita helpotettua
mutta se vaatii taas muutoksia tuossa kulku hommassa

muistaakseni itse käytin miinus merkkisiä numeroita merkkaamaan mitkä kulkusuunnat olivat lukossa tms.

mielenkiintoinen rorbleema on myös miten avata ovet niin että ne aukeavat ja menevät kiinni huoneessa jossa olet ja siinä mihin olet menossa :)

#293
näpertelin ulkomuistista äkkiä pienen ohjelman pätkän joka ehkä selventää asiaa hieman

10 Rem "X= huoneiden määrä H=huone jossa ollaan"
20 x=4:h=1:rem aloitetaan huoneesta 1
25 dim i(x),l(x),e(x),p(x),hu$(x)
30 for t=1 to x:read i(t),l(x),e(x),p(x),hu$(x):next
40 rem----------------------------------------------
50 print hu$(h)
55 print "voit kulkea ";
60 if i(h)>0 then print "itään";
65 if l(h)>0 then print "länteen";
70 if e(h)>0 then print "etelään";
75 if p(h)>0 then print "pohjoiseen";
80 print
90 input "mitäs tehdään ";a$
100 if a$="i" then 200
110 if a$="l" then 210
120 if a$="e" then 220
130 if a$="p" then 230
140 print "anteeksi en ymmärrä ?":goto 50
199 .
200 if i(h)>0 then:h=i(h)
205 goto 50
210 if l(h)>0 then:h=l(h)
215 goto 50
220 if e(h)>0 then:h=e(h)
225 goto 50
230 if p(h)>0 then:h=p(h)
235 goto 50

1000 data 2,0,4,0:rem huoneen 1 data
1001 data "olet synkässä 1 huoneessa."
1002 data 0,1,3,0:rem huoneen 2 data
1003 data "olet synkässä 2 huoneessa."
1004 data 0,4,0,2:rem huoneen 3 data
1005 data "olet synkässä 3 huoneessa."
1006 data 3,0,0,1:rem huoneen 4 data
1007 data "olet synkässä 4 huoneessa."
#294
Bitin Nypläys / Vs: joikkari koodausta
syyskuu 02, 2016, 01:02
virhe minkä huomasin vasta postituksen jälkeen oli
vaikka ohjelma tekee kuten sen pitää niin
kotrollit ovat oikeasti päin honkia
jos niiden pitäisi toimia

alkaessani määrittelemään suuntien MAX ja MIN arvoja huomasin etteivät ne olleet oikein päin xD
muistaakseni X ja Y suunnat olivat ristissä xD tms.

miksi ohjelma looppaa 5 kertaa vaikka joikkarin suunta olisikin jo löytynyt ?
koska muuten emme tunnistaisi kuin sen liikkeen joka ensimmäisenä huomattaisin
ja pysty sivuttais suunnat jäisivät huomaamatta plus fire nappulaa ei tunnistettaisi lainkaan
ellei se olisi ainoa :)

#295
Bitin Nypläys / Vs: joikkari koodausta
syyskuu 01, 2016, 16:29
joo se kohta voi olla Vähän gryptinen jos ei ole
aikaisemmin tavannut itseään muuttavaa koodia katselemaan :)
lähinnä tämä osa on itse tutkiskelua miten saisin osia ohjelmistani piilotettua
crakereiden näkymättömiin ettei peleihini huijauksia saisi ihan niin helposti kuin
tavanomaiseen koodiin tämä tapa on yksi niistä enkä ole nähnyt kenenkään käyttävän moista
mielestäni olen tämän jipon jossain aukaissutkin jo mutta tehdäänpä se vielä kerran


;----------------------------------
do_some         lda jump_tab,x  ;X rekisterin avulla haetaan jump_tab listasta
                sta hop+1       ;saatu luku tallenetaan BNE käskyyn +1 koska ensimmäinen tavu on itse haaratumis käsky
                                ;koska jokainen Jmp käsky vie 3 tavua on seuraava aina 3 kertainen edelliseen
hop             bne hop         ;X=0 1 2 3 4
                                ;  | | | | |
                jmp left        ;--- | | | |
                jmp right       ;----- | | |
                jmp down        ;------- | |
                jmp up          ;--------- |
                jmp fire        ;-----------
;-------------------------------------------
jump_tab        .byte 0,3,6,9,12,15,18,21,24 ;lista montako tavua hypätään eteenpäin
;------------------------------------------- ;listassa on enemmän hyppyjä kuin tarvitaan
;------------------------------------------------------------------------------------------

haarautumis käskyjen rakenne:     sama Hexa koodina:

1000    BNE $1002       ;HEX D0 00 ensimmäinen luku on itse käskyn hex koodi.
                        ;seuraava on hypättävien tavujen määrä eteenpäin (jos hyppy ehdot täyttyvät)
                        ;tässä tapauksessa se on 00 koska ohjelma laskuria ei tarvitse muuttaa
                        ;lainkaan vaan hyppy tehdään käskyn jälkeiseen osoitteeseen
1002    INC $D020       ; <- eli tähän
;------------------------
1000    BNE $1004       ;Hex D0 02 <- kaksi tavua eteen päin
1002    nop             ;yli
1003    nop             ;yli
1004    INC $D020       ;Hypättiin tähän
;------------------------
Koska yhden tavun haarautumis käskyillä on vain 8 Bit (255 tavun)
muistiavaruus jonne se voi hypätä monesti tulee tilanne eteen että kääntäjä
ilmoittaa haarautumisen olevan liian kaukana ja koska harautumista voidaan tehdä myös
takaisin päin on käytettävä alue 127 tavua eteen päin ja 126 tavua takaisin päin

miksi takaisin päin on 2 tavua vähemmän ?
koska itse haarautumis käsky on itse 2 tavua pitkä kuten edellä muistamme $00 hyppy oli heti
käskystä seuraava osoite

miten siis taakse päin haarautuminen toteutetaan ?
tämä selviää siitä miten CPU6502 tarvitaessa käsittelee miinus ja plus puoleisia lukuja   
0-127   Hex $00-7F olevat luvut ovat Plus puoleisia
128-255 Hex $80-FF ovat miinus puoleisia

lukujen ylin %10000000 bitti määrää onko luku miinus vai plus
tämä erottamiseen 6502;lla on omat haarautumis käskynsä jota tunnistavat vain ylimmän bitin tilan
ja haarautuminen toteutetaan sen mukaisesti
BMI .... branch on minus (negative set)
BPL .... branch on plus (negative clear)

;------------------------
1000    BNE $1081       ;Hex D0 7F Max määrä eteen päin
;------------------------
1000    BNE $1000       ;Hex D0 FE ikuinen loop koska hypätään samaan haarautumis käskyyn
;------------------------
1000    BNE $0F82       ;Hex D0 80 Max määrä takaisin päin
;------------------------
1000    BNE $0FFE       ;Hex D0 FC kaksi tavua takaisin päin
;------------------------     
haarautumisen logiikka on sama kaikissa haarautumis käskyissä-
#296
>T% siis on kokanaisluku eikä siinä voi olla vaikka arvoa 1.25?

juu ei

suojaus joka estää List komennon käytön
on usein pelkkä rem lauseke jossa sulkeiden sisällä on merkki jono joka huijaa komentotulkkia
käynnistämään jonkin Basic komennon samaa suojausta voi käyttää myös fileiden nimissä levykkeellä ja kassulla
tämä tietenkin poistuu kun poistaa kyseisen rivin

Vicessä voi kokeilla Finalcardridge imagea jossa on sisään rakennettuna tuon suojauksen esto
ja hakemistoja ja Basic listauksia voi katsella kuin suojausta ei olisikaan
varmasti jostain löytyy tähän oma ohjelmansakin joka ladataan ennen varsinaista peli ohjelmaa

jos ohjelma alkaa Sys komennolla se melko varmasti on konekielinen ohjelma joka ei Basic tulkkia tarvitse kuin ohjelman käynnistykseen
eikä siitä listausta Basicin alaisuudessa esille saa

toki voidaan käyttää konekieli ohjemaa siirtämään muistissa oleva Basic ohjelma oikeaan muistiosoitteeseen
jotta sitä voidaan ajaa kuin normaalia Basic ohjelmaa tai määrilellä Basic ohjelman alku osoite uudeleen
eikä ohjelma koodia pääse katsomaan ennen käynnistystä toki tämän jälkeen pitää varmistaa ettei
koneen resetinkään jälkeen pääse Basic koodia näkemään
#297
Commodore 64 / C= trademark
elokuu 31, 2016, 23:59
Jenssi ottanut sitten vähän isomman kakun palan  :o
https://icomp.de/shop-icomp/en/33/items/commodore-back-in-germany.html
#298
DIM käskyllä määritellää muisti alkioiden koko joka pitää siis ennakkoon tietää lukua ei voi lennossa enään muuttaa
ellei tyhjennä kaikkia muuttujia kerralla (siihen löytyy yksi käsky)

ilman DIM arvoa def määrä on 10 alkiota sitä suurempi antaa aina virheilmoituksen
esim.
10 a$(1)="seinäkello"
20 a$(10)="ovi"

tämä on ihan ok
mutta
10 a$(11)="lukko"

antaa virheen ellei alkioita määrittele suuremmaksi DIM käskyllä
esim.

10 dim a$(11)
20 a$(11)="lukko"

dim määrittelee a$(x) muuttujan suurimman arvon joka on x
esim. edellisen esimerkin jälkeenkään ohjelmassa ei hyväksytä muuttujaa a$(12) koska se olisi liian suuri varatuihin määriin joka olis nyt max 11

monesti näkee texti seikkailuissa tapaa jossa texti on Data lausekeissa
100 data 10,0,0,9,"tämä on huone jossa makaa..."

ensimmäiset luvut ovat mihin huoneisiin kyseisestä huoneesta pääsee
ja sitten kuvaus millainen nykyinen huone on

monesti tämä data luetaan alussa muuttujiin mutta tässä piilee pieni ongelma
kun pelin koodi kasvaa ja huoneita tulee lisää
muuttujiin luetu tavara on pois käytettävästä muistista koska sama tavara on jo Data lauseissa
huonekuvauksiin tarvittava muisti käytetään siis kahteen kertaan

tämä on helppo ymmärtää koska muuttujia on huomattavasti helpompi käsitellä kuin
datana jouduttaisiin aina lukemaan alusta loppuun kunnes oikea huone löytyisi
siksi esim. Aikaetsivässä kaikki kuvaukset on siiretty Relatiivi tietokantaan joka on levykkeellä
ja näin koko koneen muisti on käytettävissä itse peliin

data käskyn voi korvata myös seq tiedostona josta ne luetaan muuttujiin
vastaavasti kuin data käskystäkin ongelmana on ettei kerralla voi editoida kuvauksia ja ohjelmaa :(

Ps. Data käsky vaatii kirjoitetulle textille " " merkit alkuun ja loppuun
muuten data käskyn sisältämä tieto määritellään numeroiksi tai muuttujiksi
#299
eilen oli taas sähköt poissa koska myrsky.

14-19 välisen ajan Upsu koitti kyllä sinnikkäästi pitää laitteita sähköissä mutta noin 30min jälkeen sekin joutui luovuttamaan
samalla käännettiin sitten koko systeemi pois päältä kunnes sähköt oikeasti palaisivat ja pysyisivät päällä kaivemmin kuin sen 10min

paljon kertomista ei purkin olemassa olosta oikeastaan ole koska se toimii kuin junan vessa :)
ajoin BAckupitkin sitten tuossa viikolla pitkästä aikaa varmuuden vuoksi
mistä tuli mieleen että pitäisi pikkuhiljaa alkaa varautumaan kovalevyjen uusintaan
vaikka BBS pyörivä Scsi levyn pitäisikin olla täysin uusi niin itse Backup levy ei sitä ole
vaan se on vanha Segate Barracuda joka aikaisemmin oli purkin päälevynä jokusen vuoden

yksi parhaista päätöksestäni muuten palata takaisin Raakaan rautaan !
koska CF systeemi ei purkissa tuntunut toimivan
vaikka monesti joka puolella sanotaan ettei niiden kanssa ole ongelmia
niin väitän ! että kyseiset hemmot eivät niitä koneitaan oikeasti käytä mihinkään
kovinkaan raskaaseen hommaan koska minulla on ollut ongelmia kaikissa Amiga koneissani
kyseisten korttien kanssa.

ongelma ei ole suuri jos konetta käyttää vain jonain peli alustana ja renkkaa niitä
mutta jos koneella oikeasti tekee asioita niin ennen pitkää törmää johonkin omituisuuteen
purkissa yksi pahimmista oli että jotkin Random ominaisuudet lakkasivat toimimasta
luetellaanpa tässä muutama minkä itse muistan

purkki softa ei käynnisty icon tilaan !
tila jossa softa ei avaa omaa private ikkunaa vaan avautuu WB;lle ikkuna borderina
tämä säästää chip muistia ja purkki toimii hätäsemmin kun ei tarvitse pitää yllä kahta eri "näyttöä"
(tulostaessa menuja seriaaliin ja ikkunaan samaan aikaan)
tämä ei onnistunut CF korttien kanssa koska osassa levyltä ladattavista menuista ohjelma ilmoitti
File not found. ja 100% varmasti file oli siellä missä sen pitikin olla  :bang:
ongelma kerrettiin niin että käynnistyksessä BBS avattiin omaan ruutuunsa eli kaikki 4 nodea avasivat oman ruutunsa
joita sitten napsittiin käsipelillä WB borderi moodiin mutta kaikkiin File not Found. juttuihin ei edes tämä auttanut
pahin kaikista oli ongelma joka tuli minun tietooni vasta paljon myöhemmin

uuden käyttäjän kirjautuessa sisään tietyt menut eivät myöskään löytyneet File not found.
purkissa on ominaisuus joka potkaiseen näissä tapauksissa käyttäjän pihalle jos näin tapahtuu...
suojaten systeemiä tms.
joten sueraus oli ettei kukaan uusi käyttäjä pystynyt regaamaan sisään koska BBS potkaisi käyttäjän aina pihalle ennenkuin
rekisteröinti oli täysin valmis...

Bulleting on texti file joka kertoo uutisista purkin toiminnassa joka ilmestyy käyttäjän näytölle vain jos Fileen
päiväys muuttuu aikaisemmasta
File not found. ongelma osui myös tähän fileeseen ja alkoi heittämään porukkaa pihalle kun uutisten oli tarkoitus ilmestyä ruutuun
käyttäjillä ei ollut mitään keinoa estää tätä tapahtumasta :(

muitakin esimerkkejä varmasti oli mutta olen ne jo unohtanut
kuvaavaa asiassa oli se että minulle ongelma ei koskaan näkynyt ei itse koneella
eikä naapuri koneessa josta otin Telnet yhteyden purkkiin  :bang:

onneksi Kaikki ongelma katosivat samana päivänä kun tajusin vaihtaa koneeseen aidon SCSI levyn  :old:

vastaavia ongelmia on ollut A1200T koneessani jossa edelleen on CF levy mikä ainoastaan estää minua tällä hetkellä pelaamasta Quakea
onneksi koneessa on 256Mt muistia ja voin siirtää Quaken kokonaisuudessa sinne ja pelata peliä sen jälkeen

A4000 ajaessa purkkia CF kortilta ongelmat olivat pahimmillaan
kone on ollut hyllyllä nyt muutaman vuoden joten en ole sitä kovin paljoa ehtinyt koluamaan
mutta nyt sekin on jälleen pöydällä kytkettynä monitoriin ja käyttövalmiina
luultavasti siirtyen BBS kehittely ja testaus alustaksi toisen A2000 kanssa joka on vielä kasaamatta

tässä taas pieni historia muistelu...
ai niin purkkiin lisättiin "loppu texteihin"
Sponsored by Gentle eye

http://www.gentle-eye.fi/index.html

ps, suportatkaa paikallisia C= kauppiaita :)
#300
niin mikä asian Scenessä on viimeisen vuoden aikana
eniten saanut naaman virneeseen ja päivän paistamaan harmaaseen arkeen ?

itselläni se oli Jukan aineiston rantautumisen omiin hoteisiin 7o7
ja ison helpotus oli saada puskettua Zamzara 1.1v vihdoin jolukuussa ulos
sen jälkeen onkin ollut powerit melko pitkälti tyhjennetty
eikä uutta projektia ole saatu käyntiin

samoin pajan suursiivo ja remontti veivät koko kesäloman
no ehdin sentään Arexxiin paneutua sen verran että sain purkkiini ensimmäisen Door sovelluksen tehtyä 7o7
samassa yhteydessä BBS sain oman tilansa ja pöytänsä luolani uumenista samoin C128D asettui samaan tilaan
eikä enään ole kaapin päällä murjottamassa pölyä keräämässä ja viimeinkin kaikki omistamani C64&Amiga pelini ovat hyllyssä
josta niitä voi napata pelattavaksi eikä tarvitse pöyhiä epämääräisiä laatikoita kasojen alimmaiselta tasolta
Video edittiinkin pääsee kiinni monen vuoden jälkeen 7o7 joten mahdollisuudet että tänä ja ensivuonna jotain alkaa syntymään

ja nyt on toiveita myös siitä että ensi talvena en tarvitsisi kovin paksua talvitakkia pystyäkseni työskentelemään
pajani uumenissa läpivuoden  :pondering:
sillä ehdolla ettei vaimo ala kiukuttelemaan siellä viettämästäni ajasta :)