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

#1036
puhunkohan nyt hieman ohi suuni mutta muistelisin että noissa wanhoissa lisä muisti kapuloissa
oli ihan oma piiri sarja tuolle muistin siirrolle ?!?
ja oli huomattavasti nopeampi kuin ohjelmallisesti tehty siirto ?

en jaksa uskoa että 6510 konekielellä jaksaa ohjelmallisesti tuon data heittää riittävän nopeasti
muistiin tuolla Frame ratella...
#1037
halvempi sentää kuin C-One xDDDD
ja sekin tarvitsee vielä yhden lisä FPGA et taipuu Amigaksi
tää ainakin tilaa moisen heti seuraavasta tilistä 7o7
#1038
Terapiaa ja Jauhantaa / kohtaaminen MON kanssa
helmikuu 18, 2012, 20:02
youtube törmäys
Maniac of Noise tekee ihan reipasta settiä vieläkin xD
eiku nupit kaakkoon !!

Maniacs Of Noise - Firing Up
#1039
ei jamangauta katsokaas tää tähänkö ollaan tultu ?!?!?
onneksi vain video player testi mutta eny huu...

Commodore C64 Video Player - Chameleon
#1040
Huh Huh tulipa tuolainenkin nähtyä kun poikkesin GE putiikissa ?!!?
on kyllä uskomaton laite
testattiin muutamaa C64 raskaimmista vectori peleistä
ensin Driller 3D voin sanoa että huh huh peli oli nopea kuin Amigassa konsanaan
veikkaisin että löi nopeudessa jopa A500 version ei tosin niin värikäs ja hieno mutta
kyllä oli nopia en muista tarkkaan mutta taisi olla jotain yli 20Mhz nopeuksinen 6510 testi hetkellä ei siis mikään 65c016 versio vaan aito HW FPGA emuloitu 6510

muita pelejä testasimme
tietenkin Stunt car racer --- mutta tämä oli jo niin nopea ettei ajamisesta tullut mitään
renkaat kun kosivat rataa auto oli jo suoran päästä pihalla ja nosturissa roikkumassa
ei edes kissan ekaa tavua ehtinyt sanomaan xD
palikassa on kaikki C64 1541 emulaatio eli turbolaturitkin toimivat xD
kerneli ja kovalevyt SD kortilla

kyseinen pulikka pystyy toimimaan myös pelkästään ilman C64 kytkentää mutta vaatii silloin
5v 1000mA teho lähteen

ja mikä parasta laitteella pystyy ajamaan Amigaakin 68020 moodissa nopeudella noin 20mhz
tuon toimintaa emme ehtineet testaamaan mutta kyseisen testin näkee youtubestakin
harmittaa kun ei kuvannut tuota SCR peli kokemusta se oli hupaisa

Huom. vehje on vielä BETA vaiheessa joten täydellisesti toimivaa pulikkaa ei ole vielä myynnissä
mutta testaajia haetaan...
joikkari kytkentänä toimii CDTV IR ohjain mikä ei ole kovin hyvä mutta käy testi tarkoituksiin
tämä siis pelkkänä modulina.
C64 kytkettäessä tietenkin C64 omat joikka portit toimivat
Amiga puoli hoituu PC näppiksellä ja hiirellä kuten C64 näppis

posketon vehje xD pakko hankkia kun tästä konkurssista selviää
http://www.vesalia.de/e_chameleon.htm#overview
#1041
tälläkin foorumilla voi seurata uusien pelien valmistumista... *wink*
#1042
varmaksi en sano !
veikkaisin kyllä että jokusen turbonkanssa tuo on yhteen sopiva
kokeilemallahan tuon tietää
kassulta levyllekin kopiointi onnistuu
#1043
Bitin Nypläys / Vs: Soita Sid sample !
helmikuu 05, 2012, 02:26
ok
tässä hieman omia Sample rutiineija teillekin ihmeteltäväksi
samplen soitossa ajastus on tärkeimpiä äänenlaatuun vaikuttavia
asioita kuten tässä esteltävässä rutiinissä

ensimmäinen rivi BIT $DD0D
käynnistetään ajastus uudelleen heti alussa
näin varmistetaan että seuraavakin sample tulee "tarkasti" halutun ajan kuluttua
koska laskuri alkaa heti tämän jälkeen laskea seuraavaa keskeytys aikaa
ohjelmoijalle jääkin sitten vain ajastaa itse samplen soittaminen molemmissa
osissa (C64 4bit samplet koostuvat kahdesta samplesta ala ja ylä osa)
tarkalleen samalla ajastuksella kuin edellinen
tietenkään tämä ei ole mahdollista kovin tarkasti badline ja prosessorin suorittamien
käskyjen erilaistan suoritus aikojen suhteen keskeytykset eivät pysty keskeyttämään
itse käskyjen suoritusta
(eivät edes ystiset NMI keskeytykset vaikka pystyvätkin ajamaan IRQ keskeytysten ylitse)
joten sen täytyy odottaa kunnes se on suoritettu loppuun
tämä voi kestää 2-6 kellojaksoon kielletyt käskyt tästä vieläkin enemmän
rutiini olettaa että olet jo kytkenyt ylemmän Romin pois päältä
ja asettaa keskeytykset suoraan Hard puolelle eli FFFE ja FFFF
Soft osotteet 0318 ja 0319 NMI keskeytyksille
soiton ajotuksen kannalta kellojaksot mitä käytät ennen STA $D418
käskyä ovat merkityksellisiä kuten huomaat molemmissa ajastus on 20 kellosykliä
voit alemmasta rutiinista poistaa "ylimääräiset" NOP lauseet mutta se vaikuttaa hieman
äänen laatuun tosin keskeytys vie vähemmän kello jaksoja ja pystyt ajamaan sitä
ylemmillä kierroksilla ilman että kone kaatuu...
äänen korkeuttahan säädellään LO $dd04 ja HI $dd05 arvoilla
jos HI on 0 ja Lo menee alle $35 alkaa C64 kaatuminen lähestymään
eikä prossa ehdi juuri muuta tekemäänkään kuin ajamaan pelkkää NMI keskeytys looppia
ORA lauseet ovat jos käytät SID puolta ja käytää myös Filttereitä

         *= $1000

NMIS     LDA #<NMI
         LDX #>NMI
         STA $FFFA
         STX $FFFB
         LDA #$81
         STA $DD0D
         BIT $DD0D
         RTS

; DON'T FORGET SET $DD04 AND $DD05
; $DD05=0 $DD04<35 AND C64 GONA FLIP
;****************************

  ; ************************
  ; *  BB = A REC SAVE     *
  ; *  6C = SAMPLE TEMP    *
  ; *  SAMPLE = SAM READER *
  ; ************************

                             ;CLOCK
NMI      BIT $DD0D           ;CYCLES
         STA $BB         ;3
         LDA $6C         ;3   6
         LSR A           ;2   8
         LSR A           ;2   10
         LSR A           ;2   12
         LSR A           ;2   14
SU1      ORA #0          ;2   16 *
         STA $D418       ;4   20
         INC SAMPLE+1    ;6   26
         BNE END1        ;3   29
         INC SAMPLE+2    ;6

END1     LDA #<NMI2      ;2   31
         STA $FFFA       ;4   35
         LDA $BB         ;3   38 TOTAL
         RTI             ;    * 38-2=36

KILL     LDA #0
         STA $DD0E
         LDA #8
         ORA VOL
         STA $D418
         JMP END1

NMI2
         BIT $DD0D
         STA $BB        ;3
         LDA $6C        ;3    6
         NOP            ;2    8  *
         NOP            ;2    10 *
         NOP            ;2    12 *
         AND #$0F       ;2    14
SU2      ORA #0         ;2    16 *
         STA $D418      ;4    20
SAMPLE   LDA $1000      ;4    24
         CMP #$F0       ;2    26
         BEQ KILL       ;2/3  28
         STA $6C        ;3    31

END2     LDA #<NMI      ;2    33
         STA $FFFA      ;4    37
         LDA $BB        ;3    40 TOTAL
         RTI                 ;* 40-8=32

  ;     * = CAN REMOVE
  ;     SAMPLE MUST END $F0
  ;    ---------------------
  ;******************************


#1044
softassa tuskin on vikaa eiköhän tuo ole ihan sysopin määrittelemä koko rajoitus
ja ihan tilan tarpeen vuoksi. lisä kova maksaa kuitenkin aina jotain...
#1045
onkohan tämä sivu jo esitelty täällä
no tuolta löytyy ainakin tärkeimmät opukset ihan PET malleja myöden
ja se C64 raamattu reference book

http://www.commodore.ca/manuals/default.htm
#1046
Bitin Nypläys / Vs: peli projekti Block Hole
tammikuu 31, 2012, 09:53

hieman pään vainaa aiheuttaa edelleen Blokien kokoaminen xD
selivitystä filosofiasta... asiasta on parempi puhua niin moni asia aukeaa ihan uudella tavalla
(ohjelmoijan terapiaa puhua ongelmista) xD

Blok malli


HHHHHHHH
H      H
H      H


tässä tyypillinen blokki onhan tätä jo selitetty mutta vielä kerran
blokki on 8x3 kokoinen koska blokkia vieritetään ylhäältä alas
pitää se purkaa vieritykseen päivastaisessa järjestyksessä alhaalta ylös päin
blokilla on 4 kordinaattia ensimmäiset kaksi kertovat x,y paikan itse pelikentällä
blokissa tämä piste sijaitsee vasemmassa alanurkassa seuraavat kaksi kertovat minkä kokoinen blokki on
tämän pohjalta vieritys osaa rakentaa blokin oikealle kohtaa ja oikean kokoisena
voi olla että paikka kordinaatin y joudun muuttamaan 16 bittiseksi koska muuten peli kentästä saattaa tulla
liian lyhyt xD samalla kenttään pitää lisätä yksi tavu 2 jakoisuuden vuoksi ehkä siihen saadaan blokin uniikki väri :p
aikaisemmin ehdotettiin valmiin ohjelman käyttämistä kenttien tekemisessä
olisihan se huomattavasti helpompaa tehdä valmis grafiikka pohja jota vierittää
ongelma siinä vain on se että se myös syö rutkasti muistia
esim. esimerkki kappaleemme on tuon 8x3 sen vie muistissa tilaa 24 tavua + 4-6 kordinaatti tavua =28-30
mutta pohjalla kentän leveydestä riippuen 20x3=60 tavua
oma tekniikkani ei syö tyhjiltä alueilta muistia ollenkaan mutta pohja vie jokaista riviä koden 20 tavua
255 rivinen pelikenttä vie siis 255*20=5100 eli melkein 5kiloa muistia mikä tarkoittaisi 60k käytöllä 12 kenttää
ohjelmalle, musiikille ja grafiikalle jäisi siis alle 4 kiloa ja siitäkin osa olisi nolla sivua jotai ei voi käyttää kovin vapaasti
yritän säästää muistia ja kello jaksoja koska ne tulevat tarpeeseen
ohjelmastahan tulee yksi osainen ja samplet varsinkin 8bit samplet vievät tuhottomasti muistia
tausta animaatio mitä olen ajattelut vie kello jaksoja paljon...

toinen hankala tekiä on itse ammus koska vieritys liikkuu koko ajan ja näyttö on tubla bufferoitu
ammuksen siirtäminen tässä ympäristössä vastavirtaan on kohtuu haasteellista en erityisemmin pidä Spriteistä
koska ne sotkevat kätevästi ajoituksia muistanko oikein jokainen sprite syö rasteri
kello jaksoja yhden kello jakson verran badline painajainen 8 spriteä ja badlinen argh
no olen korvannut ammuksen siis spritellä koska se helpottaa pähkäilyä tässä vaiheessa
mutta koska olen suunitellut peliin armottomat ase arsenaalit joudun ehkä vielä palaamaan tuohon vieritys ongelmaan
tulevaisuudessa jos Spriteillä osottautuu ongelmalliseksi toteuttaa mitä olen ajatellut
ruutu on kyllä nyt jaettu kahteen osaa fight ja pelaaja alueeseen molemmilla on omat 8 spriteä eli max 16kpl
tätäkin voidaan vielä lisätä huomattavasti siksi yritän pitää pelialueen keskeytyksemättömänä
ja kuten aikaisemmin sanoin prossa kuorma on minimissään kuten varmaan tuosta demosta huomasitte
sitä ei ole vielä käytetty paljon tausta animaatio tarvitsee myös runsaasti kello jaksoja

projekti jatkuu kaiken muun kokeilun ohella...
#1047
Bitin Nypläys / Vs: Soita Sid sample !
tammikuu 31, 2012, 08:57
perskules...

sain kyllä rutiinin toimimaan mutta...
jotenkin epäilen ettei se ole sitä mitä etsin
tällä hetkellä ajan samplerillä ääntä sisään ja tuuppaan sen ulos tuolla 8bit sid rutiinillani
jouduin jopa ronkkimaan aidon rutiinin vicius sid demosta
mikä on sama kuin netissä kerrottu esimerkki
ongelma vain on se etten saa kyseisellä rutiinilla pihaustakaan omasta vehkeestäni

malli esimerkki ei toimi ellen ensimmäistä lda #$11 muuta lda #$10 muotoon
ihmettelen tätä koska itse demossa äänet toimivat aivan hyvin ?!?
tosin Wanha sid 6581 filtterit eivät toimi ihan niin hyvin kuin videossa
vaan niiden soundi on paljon räkäisempi ja resonassia on reilummin o7
ajan ohjelmaa ilman keskeytyksiä ja pimennetyllä ruudulla jotta BaadLinet ei häiritse
samalla hieman mietin sitä ettei ääni kuulosta koviin hyvältä jos sample soitto taajuus
laskee jonkin verran tarkoittaa sitä että 4bit samplea voin ajaa alemmallakin taajuudella
ja se ei silti kuulu itse äänessä tämä rutiini taas vaatii ruurta näyte taajuutta ?!?
eli epäilen ettei rutiini toimi oikein oletus on että 8bit sämpleä pitäisi pystyä ajamaan
hitaammalla taajuudella sen suuremman dynaamisuuden vuoksi
olenko nyt ihan metsässä ?

tiedän että aito vicius koodi ajaa sampleä fiksatulla irq rasteri ajastuksella ja näin välttää badline häsän...

8bit_sid lda #$11 <- tämä pitää muuttaa #$10 muotoon että toimii ?!?!
sta $d412
lda #$ 09
sta $d412

lda sample,x
sta $d40f
nop
lda #$01
sta $d412


tässä avaava artikkeli asiasta
http://codebase64.org/doku.php?id=base:vicious_sid_demo_routine_explained
#1048
onnistuhan se noinkin
tommosista pet kääntäjistä oo mitään hajua xD
vielä vähemmän pääsen lerpukoneen kimppuu juuri koskaan
et ihan emuilla pitää nää hoidella nykyään ko ei tuo C64 oikeen kulje maailmalla kätevästi xD
#1049
hmm sanoisin että ohjelma coodin nappaaminen ihan .txt fileestä olikin melko haastavaa
konekielisenä se ei ole ongema eikä mikään mutta Basic koodiin kopsaaminen onkin ihan toinen juttu
kun omaa laiskan luonteen niin ei sitten millää viitsinyt alkaa tuota Data hässäkkää kirjoittelemaan

miten sen tein !?

ensinnäkin tallennus .txt file pitää olla 8bit muodossa ja jokaisen rivin loppuun lisäsin X merkin ei x

sitten kirjoitin pienen ohjelman C64 jolla avasin tuon fileen ja printtasin sen ruudulle

1000 open 2,8,2,"textifile"
2000 get#2,a$ if a$="x" then print:goto 2000
3000 print a$;:if st=0 then 2000

kun ohjelma oli tulostanut ohjelma koodin kävin painamassa ne muistiin returnia painamalla
aivan kuin ohjelma koodille on tapana tehdä
tämän jälkeen käynnistin ohjelmani uudelleen ja annoin sen tulostua vain siihen asti mikä oli ensimmäinen rivinumero
edellisessä printissä
ja tein saman tempun niille riveille jotka eivät vielä olleet muistissa ja Volaa
tämän jälkeen poistin nuo omat yli 1000 rivit ja tallensin ohjelman...

mutta itse sorsa file olisi kyllä paljon näppärämpi ottaa käyttöön xD
kiitoksia vielä


#1050
Bitin Nypläys / Vs: Soita Sid sample !
tammikuu 30, 2012, 11:10

Hahahaha...

vihdoin löysin 8bit sample malli rutiinin
tuota pitääkin alkaa urakalla tutkimaan selvästi siinä on vielä
parantamisen varaa... kertoilen sitten kun oma rutiini polpahtaa pinnalle xF