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

#796
jep
1541 on todellakin monimutkainen laite siksi olenkin koittanut pysyä sen sielun elämästä erillään xD

ainoa ero taitaa olla se ettei sillä ole käyttö muistia kuin kaksi kiloa
muuten se on ihan oma tietokoneensa ja osaa tehdä itsenäisesti hommiaan

yksi esimerkki siitä on Verify komento jonka se suorittaa täysin ilman isäntäkoneen apua
kunhan ei yritä sulkea komento kanavaa

muutama kopiointi ohjelma käyttää tätä kikkaa ja levyasemat suorittavat kopioinnin keskenään

suorasaanti kikalla homma toimii mutta siitä aiheutuu hurjasti ylimääräistä koodia
joudut avaamaan tiedosto kanavan ilmoittamaan tiedosto nimen lukea kaksi tavua sulkea kanava plus tarkistamaan tapahtuvat virheet
ja tämän jälkeen kutsua load rutiinia

millaisia ohjelmointi työkaluja (ohjelmia) käytät ?
#797
palataapa alkuu taas
eli aluksi ehdottamani $C3 ja C4 tallentuu ohjelman lataus osoite jos se on kerrottu load rutiinille
muuten käytetään vakioarvoa ($0801)
yllä kuvatulla tavalla $FFD5 osoitteesta löytyy hypyn seuraavanlainen tallennus pätkä

LOAD
$FFD5 JMP  ($F49E)


; load ram from a device

F49E   86 C3      STX $C3
F4A0   84 C4      STY $C4
F4A2   6C 30 03   JMP ($0330)   ; normally $F4A5

; standard load ram entry

F4A5   85 93      STA $93
F4A7   A9 00      LDA #$00
F4A9   85 90      STA $90
F4AB   A5 BA      LDA $BA
F4AD   D0 03      BNE $F4B2
F4AF   4C 13 F7   JMP $F713

F4B2   C9 03      CMP #$03
F4B4   F0 F9      BEQ $F4AF
F4B6   90 7B      BCC $F533
F4B8   A4 B7      LDY $B7
F4BA   D0 03      BNE $F4BF
F4BC   4C 10 F7   JMP $F710

F4BF   A6 B9      LDX $B9
F4C1   20 AF F5   JSR $F5AF ; Loading message
F4C4   A9 60      LDA #$60
F4C6   85 B9      STA $B9
F4C8   20 D5 F3   JSR $F3D5 ; open io
F4CB   A5 BA      LDA $BA
F4CD   20 09 ED   JSR $ED09 ; send talk
F4D0   A5 B9      LDA $B9
F4D2   20 C7 ED   JSR $EDC7 ;send secondary address
F4D5   20 13 EE   JSR $EE13 ;input serial haetaan ensimmäinen tavu
F4D8   85 AE      STA $AE ;ohjelman ensimmäinen tavu (lataus osoitteen alempi tavu)
F4DA   A5 90      LDA $90 ;luetaan ST rekisteri
F4DC   4A         LSR
F4DD   4A         LSR
F4DE   B0 50      BCS $F530 ;virhekanavan tarkistus hyppy jos virhe tapahtunut
F4E0   20 13 EE   JSR $EE13  ;haetaan seuraava tavu
F4E3   85 AF      STA $AF  ;tallenetaan ylätävu
F4E5   8A         TXA ;rivillä F4BF luetaan secondary address X rekisteriin
F4E6   D0 08      BNE $F4F0 ;jos <> kuin nolla jatketaan latausta $AE-AF saaduilla arvoilla (load"*",8,1
F4E8   A5 C3      LDA $C3 ;jos X =0 kätetään vakio arvoja $0801 tai annettuja X. Y. arvoja (load "*",8)
F4EA   85 AE      STA $AE
F4EC   A5 C4      LDA $C4
F4EE   85 AF      STA $AF
F4F0   20 D2 F5   JSR $F5D2


eli ohjelma ei ilmeiseti tallenna missään vaiheessa alku osoitetta !! :(

mutta jos teemme oman rutiinin missä tämä tallennus onnistuu $FE-FF osoitteisiin niin ongelma selvitetty
malli rutiini on sijoitettu näyttö muistin yläpuolella sijaitsevaan kasetti puskuriin joka on levy toimintojen ajan käyttämätön


; oma Load aloitus rutiini

    *=$033c ; Kasetti Bufferi

; Set new Load address

SET       
        LDA #<F4A5
        STA $0330
        LDA #>F4A5
        STA $0331
        RTS

F4A5   85 93      STA $93
F4A7   A9 00      LDA #$00
F4A9   85 90      STA $90
F4AB   A5 BA      LDA $BA
F4AD   D0 03      BNE F4B2
F4AF   4C 13 F7   JMP $F713

F4B2   C9 03      CMP #$03
F4B4   F0 F9      BEQ F4AF
F4B6   90 7B      BCC F533
F4B8   A4 B7      LDY $B7
F4BA   D0 03      BNE F4BF
F4BC   4C 10 F7   JMP $F710

F4BF   A6 B9      LDX $B9
F4C1   20 AF F5   JSR $F5AF ; Loading message
F4C4   A9 60      LDA #$60
F4C6   85 B9      STA $B9
F4C8   20 D5 F3   JSR $F3D5 ; open io
F4CB   A5 BA      LDA $BA
F4CD   20 09 ED   JSR $ED09 ; send talk
F4D0   A5 B9      LDA $B9
F4D2   20 C7 ED   JSR $EDC7 ;send secondary address
F4D5   20 13 EE   JSR $EE13 ;input low address
F4D8   85 AE      STA $AE
                              STA $FE   ;tallennetaan oma low pointteri
F4DA   A5 90      LDA $90
F4DC   4A         LSR
F4DD   4A         LSR
F4DE   B0 50      BCS F530
F4E0   20 13 EE   JSR $EE13 ;input Hi address
F4E3   85 AF      STA $AF
                           STA $FF   ;tallennetaan oma hi pointteri
F4E5   8A         TXA
F4E6   D0 08      BNE F4F0
              JMP $F4E8
F4F0              JMP $F4F0


Tämä on täysin teoreettista pohdintaa eikä koodia ole testattu mutta idea tästä varmasti selviää  :old:
#798
omien pikaisten testien perusteella se ilmoittaa ladatun ohjelman loppu osoitteen +1
eli jos on tarkoitus ladata jokin toinen ohjelma pätkä heti edellisen perään niin
$AE-$AF löytyy osoite millä tuo onnistuu
eli jos ohjelma latautuu esim. $1000-1FFF

$AE-$AF osoitteista löytyy seuraava luku $2000

sama luku löytyy heti load rutiinin jälkeen X jaY rekisteristä


ladatessa load rutiinia kutsuttaessa
ohjelman omaan osoitteeseen load "",8,1

   LDA #0
   TAX
   TAY
   JMP LOAD

mutta jos annamme X ja Y lle muun arvon kuin 0 lataamme ohjelman minne itse haluamme

  LDA #0
  LDX #<OHJELMA
  LDY #>OHJELMA
  JMP LOAD

lisää load ja Save rutiineista mainiolta coodari sivustolta
http://codebase64.org/doku.php?id=base:dos_examples

Ps. suosittelen lataamaan foorumilta linkittämäni ohjelmointi raamatun
C64 Refrence Guiden
http://www.com64.net/foorumi/index.php?topic=680.0
C64 Rom purettuna Assempleriksi
http://www.ffd2.com/fridge/docs/c64-diss.html

edit:
lisätty linkkejä
#799
tuo olikin esimerkkinä kyseiselle ohjelmalle joka lataa tarvittavat pätkät muistiin ilman että itse loaderia tarvitsee kääntää uudelleen..

Load rutiini palauttaa x. .y rekistereissä ladatun ohjelman lo & hi  addressin
samoin se tallentuu $AE alatavu -$AF Ylätavu

Load rutiini taas huolii lataus osoitteet x. y. rekisteriä käyttäen a. muistaakseni aktivoiva 1 tai 0 en muista kumpi
#800
jotain tälläistäkö etsit ?

;---------------------------------------
;==========
;= PRELOADER ====>=>=>
;==========     / / /

SETLFS   = $FFBA
SETNAME  = $FFBD
LOAD     = $FFD5

LOADLIST .WORD GRAF,SPRITE,CHAR2

         .BYTE 4          ;INCLUDE
                          ;FILES

GRAF     .TEXT "1A    "
SPRITE   .TEXT "2A    "
STAGE    .TEXT "3A    "
CHAR2    .TEXT "4A    "
A1       .BYTE 0

STLOADER
         LDA #0
         STA A1

LOADLOOP LDA A1
         ASL A
         TAX
         PHA

LOADER   LDA #1   ;0:",8,1
         LDX #8
         LDY #1
         JSR SETLFS

         PLA
         TAY
         LDA LOADLIST,Y
         BEQ STOUT
         TAX
         LDA LOADLIST+1,Y
         TAY

         LDA #6     ;nimien pituus
         JSR SETNAME
         LDA #0
         TAX       
         TAY
         JSR LOAD
         INC A1
         JMP LOADLOOP
STOUT    RTS
;---------------------------------------


#801
olisiko joku näistä ?

$00C3-$00C4 195-196   
Start address for a secondary address of 0 for LOAD and VERIFY from serial bus or datasette.

$0330-$0331 816-817   
Execution address of LOAD, routine loading files.

http://sta.c64.org/cbm64mem.html
#802
lähinnä tapahtuma on messu periaatteella eli sinne mennään tutustumaan porukoihin ja ihmetteleen uusinpia juttuja ja historian havinaa

muutaman auditoorio seminaarikin taitaa olla tulossa... aiheen tiimoilta
"omia" koneita tuonne yleensä viedään vain demottavaksi ja ihmeteltäväksi

Tapahtuma on vain yksi päiväinen ei kuten Assembly
ja yleensä tuonne tullaan ilman kantamuksia korkeintaan kamera jä kännykkä
toki rahapussi kannattaa ottaa myös mukaan koska tapahtumasta saattaa jotain mielenkiintoista tarttua mukaankin

huhu kertoo että tapahtumassa arvottaisiin kävijöiden kesken arvalla A4000 kone paketti...
ehkä jo pelkästään sen vuoksi kannattaa tulla
#803
reilu kuukausi tilaisuuteen alkaa tulemaan kiire laittaa kaikki valmiiksi !!
#804
tekeminen venyy :( aloitin työt ja niitä tuntuu sitten riittävän viikonloppuja myöden

seuraavan kerran ehdin uppoutumaan powereihin Sakun jälkeen
(Saku - suomen Amiga käyttäjien unioni) ison bileet heurekassa syyskuussa !
kannattaa tulla !
#805
se luvattomuuden siemen tekee siihen ihan oman tunnelman ;)
mieli piristyy heti !
#806
GEltä hiiri adapteri joka sopii Amigaan C64 ja Atariin

http://www.vesalia.de/e_micromysv4[7851].htm Ps2
http://www.vesalia.de/e_micromysv4[7859].htm USB
#807

kuulutan täälläkin kaikille Alteran FPGA osaajille
omistan kaksi koe levyä Excalubur ja Nios 2 ja niiden täydelliset softa paketit
hakusessa olisi osaajia rakentamaan Amigan yhteesopivia Turbokortteja joiden sydämmenä toimisi FPGA
levylle ei tarvitsisi periaatteessa konffata alkuvaiheessa kuin hätänen Prosessorin 68000-68060 50-200Mhz
ja nopea muistin hallinta

sen jälkeen katsottaisiin mihin Geittejä vielä riittäisi
jos saamme tuotteen markkinoille kehittäjille provikkaa
mutta ensin pitää saada ensimmäinen kortti hyrräämään

lisää sakun foorumilla kuvia tms.
http://saku.bbs.fi/foorumi/

itse tekisin muttei ole aikaa opiskella / rakentaa :((
hukun Projekteihin !!!
#808
ilmoittelen heti kun projekti etenee
tällä hetkellä akuuttina on harrastetilan suurentaminen
muutama video prokkis ja yksi kansiremontti ja ziljoona muuta pikku hommaa
jos joku tietää jonkun _Batteria tehokaamman perseen ylösnosto juoman niin ehdotuksia otetaan vastaan hihkuen !
#809
21.9 Tiedekeskus Heurekassa Tikkurilassa
juna-asema noin 500metrin päässä

paikalla paljon Commodore tavaraa ja ohjelmaa pelejä tms,
suunnittelu ketju
http://saku.bbs.fi/discus/messages/9/9361.html?1356093851
#810
talouteen saapui muutama kone lisää ihan säilytystä ja huoltoa varten mutta on ne komeita ;)
vielä en ole niitä tulile laittanut mutta piakkoin
A4000
A500 kovalevyllä ja lisä muistilla (kovalevy saattaa olla jopa 20 megainen)