Uutiset:

Genetic Point BBS Powered by Amiga
g-point.tunk.org port:1024 tai 500

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

#1081
lisää kuvia
#1082
tälläinenkin harvinaisuus näytille

Quick Data Drive

nopeus tietoa tästä kassu aseman korvikkeesta

64K Load Time
-cassette 23 min
-Commodore diskdrive 2 min
-Quick data drive 30 sec

melkoista menoa tosin itse en päässyt nopeudesta nauttimaan
laite ei toiminut tai sitten en osannut sitä käyttää ;)
10 tuhoutuneen nauhan ja 2 päivän jälkeen meni hermot
ja laite kaappiin pölyä keräämään
vain liitäntä johto puuttuu kuten kuvista näette mutta se on sama kuin
kasetti asemassa
ehkä vielä jonain päivänä tuotakin jaksaisi vielä testi ajaa jos jostain löytyisi nauhoja
tai sitten menee Ebayhin myyntiin
#1083
Bitin Nypläys / Vs: peli projekti Block Hole
tammikuu 18, 2012, 08:06
Itse asiassa
kenttä editorissa määritellään blokin x ja y mitat
Osuma rutiinin taas tarkistaa vain blokin ulko mitat
koska joissain tapauksissa saattaa muodostua blokkeja isompia kokonaisuuksia
esim.
0000000
0 4444 0
0 4    4  0

Jos osuma tulee 4ten väliin 0 ja 4 muodostavat
kokonaisen blokin blokin sisä osia on turha tarkistella koska onttoa blokkia ei pitäisi muodostua missään tilanteessa paitsi kenttä suunnitelijan virheestä
#1084
Bitin Nypläys / Vs: Avaruusseikkailu
tammikuu 17, 2012, 16:43
peli on lymyillyt koneeni uumenissa jo kuukausia mutta lupaan palata asiaan ko pääsen siihen käsiksi ;)
#1085
Commodore 64 / Vs: SuperCPU
tammikuu 17, 2012, 16:37
eipä ole mutta kiinnostaisi tietää lisää josko sellaisen ostelisi
tai odottelisi C-one coree jossa tuollainen olisi

kerro ihmeessä miten on toiminut ?
#1086
Bitin Nypläys / Vs: peli projekti Block Hole
tammikuu 17, 2012, 09:07
nyt pikku pähkinä !

ideoita miten ohjelmoitaisiin hajotettavan blokin tunnistus rutiini ?

omani on testissä mutta jos jollain olis jokin viisaampi ratkaisu asiaa
sellainen otettaisiin mielellään vastaan
eli pelissähän kootaan neliö tai suorakaiteinen blokki joka sitten hajoitetaan kun sellainen saadaan aikaiseksi
esim.
******
******
******

elikä ongelma
sanotaan vaikka että blokki on yhden merkin vajaa
esim.
******
******
****  *

saat osuman tähän tyhjään kohtaan jolloin siitä syntyy ehjä blokki
jokaisen osuman jälkeenhän tehdään tarkastus onko blokki ehjä
oma rutiinini ottaa talteen osumakohdan ja laskee ensin vasemmalle päin
montako merkkiä sinne päin on tämän jälkeen lasketaan osumakohdasta oikealle puolelle
jäävät merkit ja laskenta loppuu kun löydetään Space merkki chr$(32)
tämän jälkeen rutiini palaa vasempaan reunaan ja lähtee sieltä tarkistamaan
ettei yhtä merkki riviä alempana ole muita merkkejä kuin tuo Space
jos on blokki ei ole valmis hajoitettavaksi

jos muita merkkejä ei löydy palataan jompaan kumpaan reunaan ja lasketaan ylöspäin
kunnes blokin yläreuna tulee vastaan
tämän jälkeen blokki on valmis hajoitettavaksi

nyt ideoita miten tämä muilla tavoilla toteutettaisiin
basic kelpaa ja pelkkä ideakin käy
jollain näppärällä laskennallahan tuo varmasti onnistuisi kätevämmin
ideoita ?!?
#1087
Commodore 64 / Kirjat
tammikuu 17, 2012, 00:42
kaiveskelin kirjat esiin ja samalla scannasin kannet näkyville
eli tämmösiä opuksia löytyy ja näillä on pärjätty
128 materiaali sitten vähemmän
#1088
jolun lahja kasojen alle oli ihan hautautunut yksi lahja
tänään sain sen kaivettua esiin oli kuvitellut ostavani 1541-II mallin
mutta siellä olikin aito harmaa 1541 voi sitä onnea ;-)
yllätys oli todella mieleinen ja sopii oman lerputtimen kaveriksi enemmän kuin hyvin
laite on voisin sanoa iskemätön mitään käytön jälkiä siinä ei ole
paitsi paketin pahvi oli hieman hiertynyt varastoitaessa
styroksit kaikki ehjiä manuaalit johdot jopa ohjekirja ;-)

hmm vielä kun saisin tuolle 1571 kaverin niin pino alkaisi olla komia...
omistin joskus 1570 kin mutta möin sen pois se oli myös noissa vanhoissa kuorissa
jälkeen päin on kyllä harmittanut ankarasti...


: lisätty vielä yksi kuva :
#1089
Commodore 64 / Vs: NTSC & PAL-koneet
tammikuu 15, 2012, 22:18
periaateessa on mahdollista modata Pal koneesta jenkki versio
helppoa se ei kuitenkaan tule olemaan varsinkin jos koneiden rommeissa on joitain ajoitus eroja
entis aikaan kuvan saaminen olisi myös tuottanut vaikeuksia mutta onneksi nykyään Lcd
näytöt tukevat molempia moodeja

voisihan tuollaisenkin projektin kokeilla jos jengiä kiinnostaa.,,
tosin mulla ei ole yhtään jenkki peliä millä tuota testata ;(
#1090
64HDD ilmas versiossa ei sitten turbot toimi mutta pääsee testaamaan miten toimii
sitten on kaksi myyntiversiota ja niissä jotkut turbot toimii itse on ole vielä saanut aikaiseksi tilata niitä
#1091
Kannetaas korret kekoon ja pistetään oma nurkkaus näytille ;)

tässä siis actiivi laitteet lisää muista sit myöhemmin
Ps. putsasin nurkka pöydän vain tätä kuvan ottoa varten ;p

ai niin joulupukin jäljiltä oli jäänyt nurkkiin vanha harmaa 1541 malli
olin ostavani uuden 1541-II version mutta kas siel olikin aito
no nyt ne on sievästi tuos vierekkäin ja läppäri sai oivan pöydän itselleen ;)
#1092
pakko myöntää että itse operoin edelleen versiolla 1.0
ja nyt oli pakko hieman katsoa miten tuo uusi versio toimii ja heti havaitsin
tiedoissani aukon

ensimmäisessä levy imagessa on läjä ohjelmia
mutta vain yksi niistä on tarkoitettu plankolle C64 koneelle
ja se on se TMP 1.2 kuvassa punasin viivoin merkattu
muut versiot ovat joko kahdelle koneelle tai muille erikoisuuksille esim. REU
kahden koneen versio esim tarkoittaa että voit ohjelmoida toisella
ja tuupata sen jälkeen ohjelma testikoneeseen ja ajaa sen saman tien
ohjeet löytyvät web sivulta

tämän pitäisi myös tukea .include komentoa jolla saa esim. Grafiikka fileet kohilleen ennen käynnistystä
nämä Objekt fileet ladataan muistiin ennen ohjelman käynnistystä ( en ole vielä itse testannut )
toinen erikoisuus on ohjelman käynnistys osoite on siirtynyt kilon verran alemmaksi
eli
Sys 4096*8 käynnistää ohjelman Load"tmp *",8,1 jälkeen (muista väli TMP_)
#1093
ohjelmasta sen verran että

<- näppäin on avain kaikkeen
ihan muutama esim.

<- L =Load Assy
<- S =Save Assy
<- * =dir
<- 3 =käännä Assy ohjelma muistiin
<- 5 =käännetään objekti file levylle
<- D = mikä tahansa disk komento esim. s:ohjelma

itse assy ohjelmassa seuraava ohjelman pätkä tekee elämästä helpompaa
CTRL nappulan painaminen palauttaa takaisin Assy ohjelmaan

loop     lda#$ fb
             cmp$dc01
             bne loop
             jmp $8000 ; Vanhassa v1.0 versiossa $9000

ohjelma käyttää Basic ohjelman muuttuja rutiinia
eli mitä pidempi koodi sinulla on sen alemmaksi se ylettää ohjelmana $8000 osoitteesta alaspäin
sen hetkinen kohde näkyy editorin alalaidassa
$c000 aluetta ei voi käyttää koska ohjelma itse käyttää sitä
turvallinen alue on $0300-$6000
tämän voi kiertää siten että kääntää ohjelman muistin sijasta suoraan levylle
<- 5 ja annamme objektille nimen ja ohjelma tallentaa käännetyn ohjelman suoraan levylle
ja koodin paikkahan muistissa määritellään
*=$1000 komennolla editorissa

.Byte 0,0,0,0... <= 8bit dec lukuja hexat vaativat $ etumerkin % binääreihin
.Byte $0A,$0F
.Byte %00001111,%10101010
.Byte "A","B"

Word 16bit lukujen lisäys
.Word $1000,$2000,$0801

textin lisäys tai grafiikkamerkkien lisäys ohjelmaan
.Text "diibadaapa.. kivaa on"

ohjelmassa lukujen ym anto käskyille

LDA #01 <=Dec
LDA #$ 0F <=Hex
LDA $02    <=nollasivu osoitus
LDA #"A"   <= ASCI
                               
LDA $1000+40            ;=$1000+16=$1010
LDA $1000+$40          ;=$1000+$40=$1040
LDA $1000*2                ;=$1000x2= $2000
ja niin edelleen kuten Basic kielessäkin
Muuttujien nimeäminenkin on melkein kuin Basicissa

ruutu = $0400     
taustavari =$d020

lda #2                ;muutetaan taustaväri punaiseksi
sta taustavari
rts

simppeli sample ininä rutiini (ei ehkä toimi uusissa 6580 piireissä ?!?)

*=$1000

    sei                  ;kielletään IRQ keskeytykset
cm lda $d418  ;volume rekisteri Sid       A=Peek($d418)
    eor #$0F      ; kytketään volumi 15 tai nollaan yksinkertaisesti sanottuna käsky tekee invertin akun alimille 4 bitille
                           ; jotka sattumalta ovat Sidin volume rekisterin bitit 15 eri asentoa jos Lda antaa arvoksi 0
                           ; invertoidaan se 15 ja päin vastoin seuraavalla kerralla luvun ollessa 15 muutetaan se 0
    sta $d418     ;asetetaan uusi arvo     Poke $d418,A
    jsr tauko        ;hypätän pienelle loopille ja hidastetaan äänen taajuutta JSR = Gosub basikissa
    lda #$fb         ;A=$fb
    cmp$dc01    ;tarkastetaan onko CTRL painettuna    if peek($dc01)=A
    bne cm          ;ei ole jatketaan looppia                          Then cm
    cli                    ;palautetaan IRQ keskeytykset
    jmp$8000     ;hypätään takaisin assyyn   =goto

tauko
      ldx#0            ;x=0
de dex               ;pyöritään ympyrää kunnes X=0 ;x=x-1 tulos $ff,$fe,$fd....
      bne de         ;a<>0 then de
      rts                 ;palataan takaisin pää looppiin RTS=Return basicissa


jos jostain syystä lipsahdat takaisin basiciin
kirjoita SYS4096*8 ja palaat takaisin assyyn

#1094
ahh..
nyt kun aamu koitti ja pääkin hieman enemmän toimii niin hokasin tuon raidoitus jutunkin xD

yksinkertaisin tapa tehdä lataus raidat... nyt olen ihan muistini varassa enkä tätä ehdi tarkistamaan
mutta joskun tuollaiset tein niin että lisäsin Brake rutiinin osoitetta
Nolla sivulla osoittamaan omaa rutiiniani ja sieltä oikeaan rutiiniin


BRAKE rutiinin hyppy osoite nollasivulla
0316-0317

jos oma rutiini on esim $C000 paikassa mikä on hyvä paikka assyohjelmille
olla Basic muuttujilta turvassa... niin

0316 =$00
0317 =$C0 "dec 192"

itse rutiini sijaitsee $FE66

itse raita ohjelma tässä pari eri versiota

VER.1
INC$ D020     ; sateenkaari raidat
JMP $FE66

VER.2
INC $D020     ; kaksivärinen raidoitus
DEC $D020
JMP $FE66

VER.3
LDA#6             ; sininen ja musta raidoitus
STA $D020
LDA#0
STA $D020
JMP $FE66
#1095
okei kaivoin sivun esiin ja sanon heti että ei !!!
Assy ohjelma joka käyttää desimaali lukuja on ehdottomasti kuvasta pihalla!!!
hex koodin on ainoa oikea tapa lähestyä Assyä
muuten menee metsää niin että pää kolisee...

ensimmäisenä kannattaa ottaa selvää binääri luvuista
mitä ne on ja miten niillä muodostetaan numeroita
toiseksi tärkein on Hex numeriinen järjestelmä
nämä toimivat konekielessä parhaiten yhteen kuten tulet varmasti huomaamaan

kunnon softa käyttöön heti alusta alkaen
http://turbo.style64.org/tmp.php
ja noista TMP v1.2 (for plain c64)

väripalkki rutiini on tuolla jo jossain valmiina ja on todella yksin kertainen
http://www.com64.net/foorumi/index.php?topic=496.0

yritän nyt selittää Binäärilukuja ja HExsoja...

decimaali ja Hexa lukujen erot
siinä missä decimaali luvut ovat 10 osaisia
0,1,2,3,4,5,6,7,8,9,"10"...
Hexsaluvut ovat 16 osaisia 0-F
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,"10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F"...

miksi HExat ovat parempia kuin decimaalit
konekielessä joutuu paljon käsitteleen binääreitä
C64 tapauksessa Binäärit ovat 8bittisiä lukuja
4bit luku         Hex     Dec
xxxx0000  =   00       00
xxxx0001  =   01       01
xxxx0010  =   02       02
xxxx0011  =   03       03
xxxx0100  =   04       04
xxxx0101  =   05       05
xxxx0110  =   06       06
xxxx0111  =   07       07
xxxx1000  =   08       08
xxxx1001  =   09       09
xxxx1010  =   0A      10
xxxx1011  =   0B      11
xxxx1100  =   0C      12
xxxx1101  =   0D      13
xxxx1110  =   0E      14
xxxx1111  =   0F      15
Edit: korjattu taulukko puuttui nolla ja yksi binääri luku:

ja niin edelleen aina bin %11111111 ,hex $FF   ,dec 255 lukuihin asti

00000001 =    01       01
00000010 =    02       02
00000100 =    04       04
00001000 =    08       08
00010000 =    10       16
00100000 =    20       32
01000000 =    40       64
10000000 =    80       128
kuten yllä huomaat binäärinä Hex luku on paljon helpompi ymmärtää
Hexsa luku on kuin kaksi eri osaa ylimmät 4 bitti ja alimmat 4 bittiä
yhteen lasku tosin tekee hommasta ööö hieman vaikeampaa siksi
meillä on Hex taulukot tai laskukoneet Ubuntussa esim. laskin asetuksista "view"
ohjelmointi moodiin niin vaihtamalla bin,hex,dec moodia käännös ilmaantuu

Hex taulukko löytyy melkein jokaisesta ohjelmointia käsittelevästä kirjasta
eikä ole vaikea tehdä itsekkään suosittelen lämpimästi taulukon pitämistä esillä

kaikkea en tähän saa nyt mahdutettua mutta muutama sana vielä käskyistä

Basic
a=1
a=a+1
poke 53280,a

assy
LDA käskyllä annetaan arvo rekisterille A
"load a"

LDA #$01 ;lataamme A rekisteriin arvon 1
CLC           ;C lippu on binääri rekisteri jolla voi olla arvo 0 tai 1
                    ; arvo on 0 jos laskennassa ei ole syntynyt ylivuotoa A>256
ADC #01   ; lisäämme A rekisterin arvoa 1
STA $D020 ;tulostamme yhteenlaskun tuloksen A rekisteristä taustavärin arvoksi (53280)

X Y rekistereillä ei tälläisiä laskuihin kykeneviä käskyjä ole

INX lisää X arvoa yhdellä ja DEX vähentää yhdellä sama toimii Y rekisterillä
näille rekistereillä on omat "lataus ja tulostus käskyt" jotka ovat identtisiä A rekisterin käytöstä

LDX
LDY
STX
STY

Y ja X rekistereitä voidaan käyttää A rekisterin jatkona
LDA $1000,X ; A=4096+X

Rekistereitä voidaan myös siirtää keskenään

TAX  ; X=A
TXA  ; A=X
TAY  ; Y=A

jos tarvitsee selittää pidemmälle niin kysy...