Keresés

Részletes keresés

HKVSteve79 Creative Commons License 2017.11.01 0 0 8411

Sziasztok!

Végre megjött a kártya olvasóm :)

Segítenétek  pár szóval, hogyan működik a ketyere, ha  már egy sd kártyán rajta van egy fájl?

 

Az SD-t FAT32-re formáztam, kell valami extra vezérlőprogramot rámásolni?

IEC-ATA Creative Commons License 2017.10.31 0 0 8410

Emelem nem létező kalapomat!!!! Király vagy! :-D

Előzmény: siz (8409)
siz Creative Commons License 2017.10.31 0 0 8409

Igaz. De ha beállítod a színt $053b-n és utána csinálsz egy lda #$93 jsr $ffd2-t (képernyőtörlés), akkor az fehér színnel törli a képernyőt, azaz a színmemóriát feltölti neked. :) +ha nem teljes képernyőt másolsz, akkor a többi részét nem kell fillezned.

Előzmény: IEC-ATA (8408)
IEC-ATA Creative Commons License 2017.10.31 0 0 8408

Még ezek sem kellenek, mert a képernyő törlés automatikusan végrehajtódik ha elkezdem $0C00-tól írni a képernyőt. Nem kell sem kurzor pozíció sem ESC+N. De mint írtam ez működött már előtte is. Amit akartam, hogy fekete keret és háttér, fehér betűkkel legyen. Ha ezt akarom, akkor $0800-tól $71-et kellene beírnom, hogy a fehér legyen a betű, de ezt már tegnap beszéltük asszem. :-/

 

Előzmény: siz (8407)
siz Creative Commons License 2017.10.31 0 0 8407

Ha a képernyőt mented le, akkor ne szarakodj a PRIMM rutinnal ($ff4f). Írj ki egy $93-at jsr $ffd2-vel (képernyőtörlés) vagy $1b, $4e-t, (Esc-N) és utána másold át simán a mentett képernyőtartalmat a képernyőre. Egyébként ez érzésre 5-8x gyorsabb is.

Előzmény: IEC-ATA (8406)
IEC-ATA Creative Commons License 2017.10.31 0 0 8406

Kicsit felborzolta a szemöldökömet a menü program megírása. Ez a JSR$FF4F egy faramuci rutin. A meghívása után ASCII kódokkal kell operálni. És bizony az pl.: ESC+N a képernyő törlés. Tehát a rutin után meg kell adni mit akarunk csinálni a kiírás előtt, ha ez megvan akkor jöhet a szöveg. Na a saját világomban elképzeltem, hogy megszerkesztem a képernyőt, amit utána lementek $0C00-tól, majd egy hex editorral bemásolom a $JSR$FF4F után. Aha ahogy elképzeltem. Nem igazán akart működni, mert a $0C00-tól kezdődő adat, nem ugyanaz mint amit én plus/4-en beírok a rutin után és elmentek. Ha a képernyőn szeretném megszerkeszteni a menüt és lementeni $0C00-tól, akkor mindent SHIFT+ -al kell írnom és akkor ugyanolyan lesz, mint amit a rutin el is fogad. Mié csinálták így? :-/

Előzmény: IEC-ATA (8404)
Törölt nick Creative Commons License 2017.10.30 0 0 8405

Ezek pluszin direkt ram-ban vannak, hogy a rom-ot le tudja lapozni, mert rom alatt a ramban is lehet basic progi.

 

$0473-on ki lehet cserélni ezt a cuccot egy olyanra, ami a szükséges külső rom-ot lapozza be a ram visszakapcsolása helyett, majd amikor megvan a byte, visaszateszi a normális basic rom lapját, és akkor a program onnan (közvetlenül rom-ból) fut.

 

Természetesen a basic kezdet, vég, változóterület, stb mutatók helyes beállításáról gondoskodni KELL(!), ez csak egy szükséges adalék, hogy lecserélni (átpatchelni) a chret(got) rutint...:

 

 

 ;
        ; CHRGET/CHRGOT - This chunk of code is copied to RAM
        ; and run from there. It is used to get data UNDER the
        ; system ROM's for basic.
        ;
; CHRGET ($0473)
L8123   INC   LastBasicLineNo         ; $3b (goes to $0473 ) CHRGET
        BNE   L8129
        INC   LastBasicLineNo+1       ; $3c
;
; CHRGOT ($0479)
;
L8129   SEI   
        STA   RAM_ON
        LDY   #$00
        LDA   (LastBasicLineNo),y     ; $3b
        STA   ROM_ON
        CLI   
        CMP   #$3A   ; ":" (colon)
        BCS   L8143   ; if colon, exit
        CMP   #$20   ; " " (space)
        BEQ   L8123   ; if space, get NEXT byte from basic
        SEC   
        SBC   #$30
        SEC   
        SBC   #$D0
L8143   RTS   

Előzmény: tanárnéni kedvence (8403)
IEC-ATA Creative Commons License 2017.10.24 0 0 8404

Köszi, akkor marad a sima basic, de már nézegettem ezt a JSR$FF4F-et. Amit alá írok be szöveget azt nyomja ki. Már csak egy Menükép szerkesztő programot kellene krendácsolni! :-) Régebben láttam a C64-es epromégető vezérlőprogramjában volt ilyen lehetőség, hogy a cartridge-hez lehetett menü képernyőt szerkeszteni. Csak ki kellett tölteni a képernyőt, hogy mit mivel szeretne a USER indítani és azt elmentette a cart-ra. De mondjuk ez csak érdekességként említettem. H már gépi kódban összeeszkábáltam a menüt, akkor marad a billentyűzet gombjaira való hozzárendelés. Ezekhez újabb kis sz szubrutinokat kell írni amik a basic POKE-ok helyett kitöltik a másoló programot és indítják. Nem olyan nehéz ez! :-) Melyik is lehet a kurzor pozicionáló utasítás? Hmmmmm. Elő kell szednem ezt a lexikont! :-)

Előzmény: ergoGnomik (8402)
tanárnéni kedvence Creative Commons License 2017.10.23 0 0 8403

Szerintem ez viszonylag egyszerű. Van valami CHRGET/CHRGOT rutin, amit elég könnyű lecserélni. A Tányértorony, Térbeli amőba, Bigyulabolt, stb. programok védelme is erre alapozott.

Előzmény: ergoGnomik (8402)
ergoGnomik Creative Commons License 2017.10.23 0 0 8402

Az elég nagy problémának tűnik, hogy egyszerre kellene jelen lennie a BASIC programnak, és az értelmezéséhez és futtatásához szükséges interpreternek és KERNAL-nak. Szerintem ezt módosítás nélkül nemigen tudja a masina. Valószínűleg át kellene mókolnod azokat a részeket, amik a programkód beolvasásával foglalkoznak, hogy a te ROM-odat lapozgassák ki-be, és ne a RAM-ból akarják szedni az adatokat.

Előzmény: IEC-ATA (8401)
IEC-ATA Creative Commons License 2017.10.23 0 0 8401

A saját világomból kérdezem! (tetszik ez a saját világ). Na szóval lehetséges basic programot futtatni epromból? Nekem eddig nem sikerült de lehet rosszul csinálok valamit vagy eleve lehetetlen és csak feleslegesen töltöm vele az időm! :-)

IEC-ATA Creative Commons License 2017.10.21 0 0 8400

Igen, saját világom úgy működik, hogy kitalálok valamit ami még nincs +4-re C16-ra. Valami hardvert. Tudom hogy kell működnie, vagyis a fenét tudom. Sejtem, hogy működik C64-en és elkezdem tervezni az áramkört. Az áramkörhöz  nézegetem a régi Commodore Egyesületi lapok 87-es számait, mert abban még jelentek meg kapcsolások +4-re, nem sok de megjelent, de sokat segítenek. Az ötletből születik egy kapcsolás próbapadon és ha működik, akkor mehet egy házilag gyártott áramkör. Így lett az 512kb-os kártyámmal is. A hardver kész már csak meg kell írni hozzá a belapozó, másoló, indító rutint. Most úgy néz ki, hogy van egy alap másoló program ami a kártya indulásakor felmásolódik $062A-tól a menü program pedig basicben íródott és fut. Ha a menüben kiválasztom a programot amik az epromba bele vannak írva, akkor egyszerű POKE- utasításokkal kitöltöm az eprom behívó és adatfeltöltő programot ami gépi kódú és indítom. Mivel a +4-el ha 32kb-nál nagyobb programot kell felmásolni epromból, meg kell hívni a C1L+C1H-t és utána a C2L+C2H-t is és onnét is a maradékot fel kell tölteni. Kicsit bonyolult de működik. Van is VIDEO egy nagyobb program futtatásáról. Az 512-es kártya most 64kb-os bankokban kapcsolható egyszerű LDA#$(00-07)és STA$FDFF-el. És ami még poén, hogy nem is kell azzal foglalkozni, hogy egyik bank felső 32kb-ba nem fér el egy nagyobb program, mert nyugodtan átnyúlhat a következő 64kb-os bank alsó 32kb-ba. De akár 1Mbyte epromot is be lehetne pakolni, mert a saját (FDFF) CS-vel vezérelt tároló elbírja! :-D Szóval nálam a hardver mindig előbb kész van mint a szoftver! :-D  

Előzmény: tanárnéni kedvence (8399)
tanárnéni kedvence Creative Commons License 2017.10.21 0 0 8399

Ő látszólag elvan a saját világában, úgyhogy most engem tanítottál. :)

Gondoltam, hogy hív egy scnclr-t a menükiírás előtt (annak sem emlékszem a címére 30 év után), és az pozicionál is.

Előzmény: ergoGnomik (8398)
ergoGnomik Creative Commons License 2017.10.21 0 0 8398

Igen, bár egyrészt ez igazából IEC-ATA-nak szólt segítség gyanánt, másrészt van az idézett hívás előtt van egy másik KERNAL rutin, amivel beállítja a kiírás kezdőpozícióját.

Előzmény: tanárnéni kedvence (8397)
tanárnéni kedvence Creative Commons License 2017.10.21 0 0 8397

Találtam. Pl.

 

jsr $ff4f
fcc 'LIKE A STARVING VULTURE CIRCLING'
db 0

 

Tehát megvan a rutin címe (ff4f), és látszik, hogy 0-val kell lezárni a sztringet. Az azt követő címen fut tovább a program.

Előzmény: ergoGnomik (8396)
ergoGnomik Creative Commons License 2017.10.21 0 0 8396

A tanárnéni kedvence által említett ROM rutin használatára például ennek a forrásában láthatsz példát.

Előzmény: IEC-ATA (8395)
IEC-ATA Creative Commons License 2017.10.21 0 0 8395

Akkor megnyugodtam, mert én nem vagyok igazi programozó, ergo nekem mindent szabad! :-) Akkor majd ezt is saját kútfejből. :-P Köszi!

Előzmény: tanárnéni kedvence (8394)
tanárnéni kedvence Creative Commons License 2017.10.21 0 0 8394

Nem látom, mi a kérdés. Van egy ROM-rutin, amellyel közvetlenül a JSR után beírhatod a kiírandó szöveget. A képernyőmemória másolása is működik persze. De az igazi programozók csak F-ig ismerik az ABC-t. :)

Előzmény: IEC-ATA (8393)
IEC-ATA Creative Commons License 2017.10.20 0 0 8393

Azt szeretném kérdezni, hogy ha a Plus/4,C16-on menüt szeretnék gépi kódban létrehozni ahhoz minden egyes sorban megadott feliratot ki kell íratnom a képernyőre egyesével mondjuk soronként. De van egy másik elképzelésem is ami az hogy lementem a képernyő tartalmat és azt feltöltöm amikor kell. számomra utóbbi talán egyszerűbb mert még nem vágom teljesen a gépi kódolást. Valami ilyesmit szeretnék majd!

 

IEC-ATA Creative Commons License 2017.10.20 0 0 8392

Igen igen neki köszönhető. De a minap feldobott egy új SD2IEC boardot a Lengyel srác úgyhogy van remény! :-)

Előzmény: siz (8391)
siz Creative Commons License 2017.10.19 0 0 8391

Ja, hogy ez az ő honlapja? Ezt én nem tudtam. De állítólag neki köszönhető az SD1541 - mármint, annak, hogy az SD1541 készítője berágott, hogy neki se csinálta meg és megtervezte az SD1541-et.

Előzmény: IEC-ATA (8388)
IEC-ATA Creative Commons License 2017.10.17 0 0 8390

Közben! Siz csináltam egy pontos I/O-1 jelet a plus/4-re, mint ami a C64-en is van. 2db. 74LS688-al. Nem gépbe építettet, hanem expasionba csatlakoztathatót. $FDFF lett az elérhetősége! :-) Nagyon nagyon jól működik! :-)

 

IEC-ATA Creative Commons License 2017.10.17 0 0 8389

Nem fog működni! Azért adtam hozzá a módosított kernel rom-ot, hogy azzal működik.

Előzmény: epy116 (8374)
IEC-ATA Creative Commons License 2017.10.17 0 0 8388

Amikor először írtál az sd2iec rendeléséről a Lengyel sráctól, nem akartam rossz hírét kelteni, mert volt aki azt írta hogy többször üzletelt vele és semmi gond nem volt. Ahogy láttam, most teljesen más projectekbe van benne és nem tudom mikor fogja teljesíteni a megrendelésed, de többen zúgolódtak a facebook csoportban ahol ő is jelen van hogy .aszik teljesíteni a megrendeléseket. Hát ez van!

Előzmény: HKVSteve79 (8386)
siz Creative Commons License 2017.10.17 0 0 8387

Ha az egy valós e-mail cím, akkor megpróbálhatod. De garancia egyáltalán nincs rá, hogy valaki olvassa.

Előzmény: HKVSteve79 (8386)
HKVSteve79 Creative Commons License 2017.10.17 0 0 8386

Ennek a netes oldalnak ahonnan rendeltem semmi elérhetőség nincs megadva, próbáljak arra a címre írni amin a visszaigazolást kaptam automatikusan a vásárlásról?

HKVSteve79 Creative Commons License 2017.10.17 0 0 8385

Rájöttem hogy a floppyban, az az egyetlen kivehető IC túlmelegszik és 1 perc használat után és csak folyamatosan forog a lemez vagy villog a led. Egy kis alubordát ragasztottam rá azóta hibátlan.

A billentyűzetet nem szedtem szét, de tartok tőle, hogy a plus4-enek az a grafitos-gumis érintkezők vannak amiken a tisztogatás nem igazán segít ha lekopik a réteg, de majd kiderül.

 

 

Előzmény: siz (8377)
siz Creative Commons License 2017.10.17 0 0 8384

Az ugyanúgy-ot nyilván úgy értettem, hogy ugyanazt meg kell csinálni, azaz a CPU port bitek átmap-elését, ami valóban, egy gyorstöltő protokoll esetén azért lehet már elég nagy feladat is időzítési szempontból.

Előzmény: tanárnéni kedvence (8379)
epy116 Creative Commons License 2017.10.16 0 0 8383

Köszi a biztatást :-)

Előzmény: tanárnéni kedvence (8382)
tanárnéni kedvence Creative Commons License 2017.10.16 0 0 8382

Ne búsulj, ezzel a tudással is az átlag felett vagy. :)

Előzmény: epy116 (8381)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!