C64Power Forum

Hardware => Hardware => Wątek zaczęty przez: fenek__ w 05 Czerwca 2010, 15:49

Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: fenek__ w 05 Czerwca 2010, 15:49
Czy mozliwe jest zrobienie rozszerzenia pamieci do C-64 ale wpinane do USER_PORTU ?

Powinienem moze napisac jaka wielkosc itp. ale chodzi mi oto czy sie da czy jest sens czy trzeba sie mocno-gimnastykowac, bo jak widze wszelkie rozszerzenia sa robione na zlacze cartridgea.

Nie chodzi mi o rozszerzenie pamieci z jakims oprogramowaniem czy systemem plikow, sama pamiec. Przez userport wybieranie odczyt/zapis, strone pamieci w rozszerzeniu, offset i pobieranie/wysylanie bajtu.

Teraz pytanie ostateczne:
czy mozliwe byloby polaczenie takiego rozszerzenia z kablem bursta na userporcie. W tym rozszerzeniu moznaby trzymac obraz d64 juz przekonwertowany na GCR i szybko burstem zapisac na dyskietke.

Minimum rozszerzenia 256 KB RAM.
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Jacek31 w 06 Czerwca 2010, 07:50
Mozna nie wiem czy nawet w jakims starszym czasopismie nie bylo cos takiego opisane na 8255. Ogolnie trzeba by do tego zaprzegnac jakie PIO, ale obsluga i tak bedzie programowa, chyba zeby zaprojektowac jakie specjalne PIO na ukladzie CPLD z trybem (pseudo) DMA (tryb przesylania z arbitrazem ktory obsluguje 6526).
Ogolnie powinno sie dac, ale byla by to tylko specyficzna programowo obslugiwana pamiec danych, nie dalo by sie zbytnio z niej wykonywac programu.
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: zyga w 06 Czerwca 2010, 09:38
C&A 1/95, ale tam pamiec byla podlaczona do szyny adresowej i danych komcia. 8255 wykorzystany byl tylko do wyborow /CS poszczegolnych kosci pamieci. Na User Porcie mamy troche malo linii (1 pelny port 8-mio bitowy i kilka pojedynczych linii sterujacych).

W prosty sposob sie nie da, wiec pewnie do tej pory nie powstalo zadne rozszerzenie pamieci na User Port.
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Kisiel w 06 Czerwca 2010, 09:57
xxx
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: suchy w 06 Czerwca 2010, 19:10
Kisiel to by zaraz wszystko w cpld robil.  \"Wink\"  To ma sens jesli trzeba cos bardziej rozbudowanego na maxa zminiaturyzowac (tak jak w przypadku GeoActiona). Moim zdaniem fenkowi wystarczy w tym przypadku RAMdysk (z dostepem sekwencyjnym), pracujacy na Userporcie, prosty i tani, metoda mojego Ucarta: czyli SRAM (praktycznie dowolny - mozesz sobie i w mega tam wetknac, jak bedziesz chcial i podtrzymywac go bateryjnie - wtedy bedzie RAM/ROMdysk) oraz np. dwa liczniki 4040, robiace za szyne adresowa: lacznie szyna adresowa dla 2 x 4040 to 24bit (i dalej mozna rozbudowywac). Tylko trzy uklady scalone, lacznie z pamiecia i mamy fajny  RAMdysk, Przy czym nie musimy angazowac do tego w CIA2 pinow odpowiedzialnych za IEC - po co robic kolizje ze stacja, czy SD2IEC. Wystarczy wykorzystac z userportu dla szyny danych 8bit (PB0-PB7 w CIA2), oraz trzy sygnaly sterujace dla RAMdysku: /RD, /WR i sygnal CLOCK dla 4040 (zmiana adresu na szynie adresowej RAMdysku), a mamy do dyspozycji (poza pinami interfejsu szeregowego) w CIA2 jeszcze piec pinow: CNT, SP, /PC, PA2, /FLAG, a wiec powinno sie to dac zrobic!
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Jacek31 w 07 Czerwca 2010, 13:02
he.. kazdy lubi to co ma. Wbrew pozorom roznica miedzy zrobieniem czegos na CPLD a na klasycznych scalakach az tak wielka nie jest. Oczywiscie miniaturyzacja jest zauwazalna, po przeskoku z jednego na drugie, ale najtansze CPLD nie maja az tak porazajacych zasobow jak by sie to wydawalo, jedyny zysk to mniejsza i prostsza plytka drukowana.
Co do licznikow do adresowania pamieci, to ja jak bym mial juz sie w cos takiego bawic, to wolal bym poswiecic jeden kanal szeregowy i miec rejestry przesuwne do ktorych wpisuje adres niz \"zgadywac\" co mam w liczniku.
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: suchy w 07 Czerwca 2010, 13:59
@Jacek31, chodzi o to, zeby to bylo jak najprostsze ukladowo/softowo i skuteczne. Nie twierdze, ze z rejestrami nie da sie zrobic, ale  rejestr wymaga do obsluzenia min. dwoch pinow: wej/wyj. Danych, oraz Clock, a nie jeden pin jak to ma miejsce w przypadku uzycia licznikow. Poza tym trzeba pamietac, ze bedzie jeszcze prawdopodobnie potrzebny jeden wolny pin na softowy reset RAMdysku (niezalezny od RESETu komcia) Moim zdaniem obsluga rejestrow przesuwnych wcale nie bedzie latwiejsza (\"zgadywanie\" aktualnego adresu) niz obsluga licznikow, gdzie w  prosty sposob mozna zliczac softowo i pamietac tylko ilosc impulsow podanych na wei. zegarowe licznikow adresowych RAMdysku. Zreszta nawet nie o to chodzi, taki RAMdysk to raczej pamiec podreczna do przechowywania calych plikow (zrzutow) i dostep bezposredni do okreslonych komorek (ze wzgledu na prostote rozwiazania) nie jest w takim przypadku konieczny. Po co komplikowac cos co z zalozenia ma byc proste i tanie. UCart sie sprawdzil praktycznie, dlatego takie rozwiazanie polecam, nie mniej nie mam monopolu na jedyne sluszne rozwiazania, wiec mozecie kombinowac do woli. \"Wink\" - byc moze dobrze przemyslany sofotowo/ukladowo RAMdysk z rejestrami dla szyny adresowej nie bedzie gorszy!

PS Mniejsza plytka wcale nie musi oznaczac prostsza i tansza! Popatrz na ostatnie wpisy w temacie GeoAction: \"... dodali 30% za male odleglosci miedzy sciezkami\". \"Wink\"
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Kisiel w 07 Czerwca 2010, 14:24
xxx
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: suchy w 07 Czerwca 2010, 14:44
@kisiel, tyle tylko, ze trzeba zamowic dwa razy wiecej plytek, niz bylo to planowane! No i oby zyga nie mial znowu \"drogi przez meke\" przy ich lutowaniu!   \"Wink\" Jak sie okazuje wszyscy szukaja Losi  \"Very
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Jacek31 w 07 Czerwca 2010, 16:47
Suchy nie wiem czy zauwazyles ale Clock + Reset i Data + Clock to dokladnie 2 linie, czyli wychodzi na to samo, z ta roznica ze w przypadku rejestru przesuwnego reset wlasciwie niepotrzebny, bo wpisujesz same zera i masz stan po resecie. Dodatkowo do rejestru wpisuje sobie np. $4000 i po 16 cyklach zegara adres w pamieci mam ustawiony a nie musze zliczac 16384 cykli aby ustawic licznik adresu. Roznica raczej spora, jezeli dostep do pamieci nie jest liniowy.
                   
Cytat:
Mniejsza plytka wcale nie musi oznaczac prostsza i tansza! Popatrz na ostatnie wpisy w temacie GeoAction: \"... dodali 30% za male odleglosci miedzy sciezkami\".

To tez jest dla mnie takie szukanie troche problemu na sile. Kto od razu karze stosowac uklad SMD, mozna zastosowac obudowe PLCC44, tradycyjna przewlekana podstawke pod nia i masz standardowe rastry. Na mojej karcie Turbo do A1200 cala gumowa logika jak czesto to sie zwie to 4 uklady GAL22V10, to samo mozna zrobic w tym przypadku 2-3 GALe 20V8 czy 22V10(DIL28) i masz jak najbardziej standardowo wygladajace rozwiazanie z ta roznica ze bardziej elastyczne, tak sprzetowo jak i pod katem budowy PCB.
Oczywiscie ma to i swoje wady, glownie te pod nazwa programator, szczegolnie w przypadku GALi, bo te w wersji ISP sa drogie i trudne do zdobycia od jakiegos czasu.
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: fenek__ w 07 Czerwca 2010, 17:50
Zalozylem ten watek z tym zapytaniem bo myslalem ze moze taki prosty i tani ramdysk moglby byc pomocny dla osob korzystajacych z sd2iec, mmc2iec, ide64, ciaide do trzymania w nim obrazu .d64 lub dwoch obrazow d64 i moglby byc alternatywa dla 1541u.

Jezeli ktos korzysta z 1541u to mountuje sobie obraz dyskietki jako .d64 i moze wczesniej wczytac np. dirmastera i edytowac dysk, dokonywac operacji bezposrednio na dyskietce.

Zeby nie bylo ostatnimi dniami przed zalozeniem watku zaznajomilem sie troche z softem na c64. Ja na ide 64 w sumie mam plugin do zapisu obrazow d64 z dysku na dyskietke, jednak plugin do obejrzenia katalogu extractu pojedynczych plikow napisalem sobie jakos w 2006 roku, widze ze na sd2iec sa jakies toolsy do przegladania ale chyba nie ma softu do odczyt/zapis obrazu .d64 na dyskietke.

Czy taki ramdysk nie bylby sensownym rozwiazaniem do wczytania w powyzszych rozszerzen poprzez c-64 obrazu .d64 przeniesienia do ramdysku i edycji \"dyskietki\" potem zapisu obrazu na dyskietke lub uzywane rozszerzenie ?
Jezeli nie, to koniec tematu z mojej strony.

Kisiel: to jest za ambitne podejscie, aczkolwiek gdyby cos takiego powstalo to oprogramowalbym to od strony c-64, ale musialoby to wygladac tak ze jest podpieta jakas karta a na nia tworze system plikow \"ulomny\" do trzymania TYLKO obrazow .d64, po stronie c64
bylby napisany manager filesystem/pliki/uruchamianie pojedynczych plikow/zapis przez bursta obrazow d64 na dyskietke
Taki manager pewnie i tak musialby byc uruchamiany z zewnatrz, np. z ram-carta z GeoActiona, urzadzenie musialoby byc powiazane w burstem po to zeby w te 10 s nagrac obraz (bez weryfikacji) .d64 na dyskietke.

reszta:
Skoro zaczalem temat to w sumie z mojej strony tyle, ramdysk na user-porcie taki o pojemnosci 1MB i tak by MI sie przydal \"Wink\"

 \"Cool\"
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Kisiel w 07 Czerwca 2010, 18:46
xxx
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Nitro__ w 07 Czerwca 2010, 18:57
Ja nie widze tutaj potrzeby angazowania komodorka, mikrokontroler, wyswietlacz LCD i pewnie nawet byloby jeszcze szybciej bo C64 jest wolniejszy od stacji.

Wiem wiem, nierealne i napisze se...
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Kisiel w 07 Czerwca 2010, 19:04
xxx
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Jacek31 w 07 Czerwca 2010, 19:17
Fenek jak pokazuja konstrukcje kisla nie ma rzeczy nie mozliwych. Natomiast nalezy sobie zdac sprawe, ze konstrukcja prosta oparta o liczniki jak proponuje Suchy, to sprzet z natury mulowaty i ograniczony swoja prostota. Lepsze konstrukcje oczywiscie beda drozsze, ale bardziej praktyczne i elastyczne programowo. Jak widac jest to zawsze szukanie nielatwego kompromisu miedzy cena, budowa, a mozliwosciami.
Ja osobiscie np. bardzo chetnie bym widzial czytnik kart MMC/SD wpinany do User Port, po co mam rozbierac kompa i w nim grzebac, jak bym mogl miec urzadkonko ktore ladnie wpinam sobie w Usera i git majonez.
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Skull w 07 Czerwca 2010, 20:09
@Fenek, wbrew pozorom sd2iec dziala na obrazach d64 prawdopodobnie jak 1541u (chociaz tego drugiego nie mam) roznica polega na emulowaniu samej transmisji (jak rowniez kernala) stacji c1541, aby zapewnic 99% kompatyblinosci.
Ale jesli chodzi o same obrazy to dostep nie jest do nich w zaden sposob ograniczony. Przykladowo, jak \"przejde\" do jakiegos obrazu na karcie, to komunikacja sie odbywa tak samo jak dla innych stacji:
load\"$\",8 - wyswietli mi katolog dokladnie jak na stacji c1541, malo tego nawet po resecie c64 ta emulowana dyskietka nie znika. jak wpiszesz load \"*\",8 to wgra sie pierwszy plik NIE na karcie, ale akurat na otwartym obrazie dysku (dokladnie tak jakby dyskietka siedziala w stacji).
Problem lezy glownie w loaderach - bo one sie pakuja do ramu stacji c1541 - a sd2iec po prostu jest inny.
Nie wiem dokladnie jak, ale swietnie radzi sobie z sd2iec FINAL3 (widocznie jego turbo bazuje tylko na obsludze z c64, a nie z urzadzenia) - wgrywa pliki w turbo jak ze stacji - ACTION mu tu ustepuje, i wgrywa programy w \"tradycyjnej\" szybkosci transmisji.

Na razie nie zauwazylem jakiegos calodyskowego kopiera z obrazow d64 umieszczanych na karcie SD, takiego sektor w sektror, ale to jest tylko i wylacznie kwestia software\'u - ktory na razie jak widac raczkuje (niestety kopier actiona wariuje, a szkoda).
 
Co do rozwiazan sprzetowych, tylko niech nikt nie kombinuje takiego urzadzenia ktore procek w c64 musiloby skanowac CYKLICZNIE stany portow, aby szla transmisja. To zaburza calkowicie uzywanie takiego urzadzenia w trakcie czegokolwiek oprocz samej transmisji - jakies muzyczki, albo animacji i efektach opartych na cyklowaniu konczac.
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: suchy w 08 Czerwca 2010, 07:10
                   
Jacek31 napisal:
...Natomiast nalezy sobie zdac sprawe, ze konstrukcja prosta oparta o liczniki jak proponuje Suchy, to sprzet z natury mulowaty i ograniczony swoja prostota. ...


... no dawno juz nie czytalem wiekszego bzdeta!  \"Very  \"Very  \"Very  Na jakiej podstawie tak twierdzisz: zrobiles UCarta? Testowales go? Jacus wez ty sie w koncu za jakas konkretna robote i przestan tworzyc takie konstrukcje literackie, bo sie osmieszasz!

@Skull, testowales DraCopy (nie DraBrowser nie FileBrowser, nie Fibr) ze stacja i SD2IEC. Kopier z managerem katalogow i plikow dla dwoch urzadzen - w dwoch okienkach mozna ustawic rozne numery urzadzen IEC, jest tam rowniez opcja zaznacz wszystko (* - gwiazdka) dla kopiowwania?

DraCopy dla C64

... Kisiel pisal niedawno, ze nawet na jego twardziela dobrze kopiuje.
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Skull w 08 Czerwca 2010, 08:15
                   
suchy napisal:

@Skull, testowales DraCopy...


testowalem, chyba juz wszystkie - niestety w kazdym z tych programow, to kopiowanie szfankuje, albo zamienia miejsca plikow, albo wogole nie wszystkie skopiuje, i wszystkie dzialaja przerazliwie wolno -> wygrywa tu nadal kabel x1541...
Ech, jak nie wyjdzie nic sensownego w najblizszym czasie to moze sie pokusze o napisanie czegos -> najlepiej polaczyc turbo z finala 3 z jakims loaderem (a wlasciwie wystarczy sama obsluga danych po serialu, nie koniecznie dwubitowa i bez zabawy w kodzie gcr) dla stacji 1541. Moze guru od loaderow Wegi cos pomoze.

ps. na razie udalo mi sie napisac taki \"mikro\"substytut kernala c64 - na potrzeby loadera w swojej gierce. Dziala to szybciej niz standardowe ladowanie i mozna to jakos kontrolowac.

ps2. a swoja droga jestem zawiedziony procedurami transmisji zawartych w romie c64, nie dosc ze dzialaja wolno, to nie mozna ich kontrolowac tak aby dzialaly pod wlasnymi aplikacjami - dluzsze wywolanie wlasnych przerwan i... po synchronizacji (latwiej juz sie bawic z cyklowaniem w transmisji dwubitowej) .
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Jacek31 w 08 Czerwca 2010, 10:50
                   
Cytat:
... no dawno juz nie czytalem wiekszego bzdeta! Very Happy Very Happy Very Happy Na jakiej podstawie tak twierdzisz: zrobiles UCarta? Testowales go? Jacus wez ty sie w koncu za jakas konkretna robote i przestan tworzyc takie konstrukcje literackie, bo sie osmieszasz!

Primo.
Ja porownalem szybkosc uzyskania danego adresu na liniach adresowych za pomoca zwyklego licznika i rejestru przesuwnego. Nie porownywalem zadnej konkretnej konstrukcji (chocby z tego powodu ze nie mam jej schematu). Nie  wiem skad uroil ci sie ten UCart o ktorym nawet na moment nie wspomnialem \"Question\"
Duo.
Chyba sam przyznasz ze wystawienie dowolnego adresu na chocby 16 bitowej szynie adresowej wiekszego niz owe 16 bedzie szybsze za pomoca rejestru przesuwnego ktory potrzebuje na wystawienie dowolnego adresu tylko tych 16 cykli zegara, niz zliczenie go programowo za pomoca licznika.
Zreszta dobitny przyklad juz podalem wczesniej.
Tri.
Ty w swoim rozumowaniu uparcie zakladasz liniowy dostep do pamieci, czyli wlasciwie kopiowanie jakis tam blokow pamieci, wtedy owszem licznik bedzie szybszy od rejestru przesuwnego, ale ja jak by sobie budowal jakas pamiec to tez bym chcial miec w miare szybki dostep do danych w trybie wybiorczym (przesylanie danych pod rozne znaczaco sie od siebie rozniace adresy).

Reasumujac atakujesz moje rozumowanie, bo sie rozni od twojego, a jak bys dobrze pokombinowal to dojdziesz do wniosku ze wystarczy polaczyc rejestr przesuwny z programowanym licznikiem i masz 2 w jednym, w zaleznosci od potrzeb majac do wyboru lepsze rozwiazanie.
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: suchy w 08 Czerwca 2010, 11:03
@Skull, sprawdz jeszcze raz DraCopy jak zainstalujesz EPROMka, zobaczysz roznice! Jedynie DraCopy dziala u mnie dobrze, jesli chodzi o SD2IEC (stacji nie mam wiec nie sprawdze). Fibr jest tez OK, ale dluzej od DraCopy laduje directory (zauwazysz jak bedziesz mial ponad 100 podkatalogow w glownym dir. ! - wazne przy plikach M2I). Tylko DraCopy (no i Fibr) poprawnie obsluguja pliki dyskowe M2I w SD2IEC, FileBrowser, DraBrowser wymiekaja. A M2I dla SD2IEC to miodzio dla pelnodyskowych programow, dzialajacych w C64 poprawnie (z dogrywaniem  introsow, poziomow, zapisywaniem HI-scores itd - sprawdzilem), tak jak .D64 dla stacji. Pisalem juz gdzies, ze na niemieckim forumC64, chlopaki maja programik: \"M2I maker\", ktorym przekonwertowali dla potrzeb SD2IEC wiekszosc interesujacych pelnodyskowych gierek .D64 (ktore w tym formacie nie dzialaly na SD2IEC chyba ze wzgledu na orientalne fastloadery, odpalane w stacji). Tutaj jest zbior ok. 300 gierek (klawych, sam ostatnio pogiercowalem sobie na realmaszynce w golfa (wspomnienia), RenegadeIII, TurricanaIII (ktorego nie znalem) a zona widzac to, znaczaco stukala sie w czolo   \"Very  \"Very  \"Very  ):

http://www.creepitz.de/downloads/m2i/

SD2IEC z pelnodyskowymi programami M2I + C64 z JiffyDOSem i DraCopy (wgranym do kazdego istotnego katalogu - przy pojemnosci karty SD 2GB mozna sobie na to pozwolic) to sama przyjemnosc!   \"Cool\"
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Kisiel w 08 Czerwca 2010, 11:03
xxx
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: suchy w 08 Czerwca 2010, 11:12
@Kisiel, moze pora zostawic leciwe stacje i twardziele dla kolekcjonerow i pojsc z postepem (sam mi to kiedys radziles)!  \"Wink\"
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Skull w 08 Czerwca 2010, 11:30
                   
suchy napisal:
@Kisiel, moze pora zostawic leciwe stacje i twardziele dla kolekcjonerow i pojsc z postepem (sam mi to kiedys radziles)!  \"Wink\"

hehe, zdaje sie ze Kisiel, korzysta z IDE, a potem z konwertera na CF - czyli twardziele to nie jego przypadek \"Smile\"
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: suchy w 08 Czerwca 2010, 00:00
... no tak faktycznie, kiedys widzialem fotki kisielowego moda!
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: suchy w 08 Czerwca 2010, 00:00
... no, ale fakt, faktem pozostaje, ze ciekawe uzytki pod nowe media (np. SD2IEC) poki co powstaja nie u nas (np. DraCopy, Fibr, M2I-maker). Nie ma ci u nas Koderow, co by mogli stworzyc cos rodzimego w tym wzgledzie??
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: Kisiel w 08 Czerwca 2010, 00:00
xxx
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: KB777 w 08 Czerwca 2010, 00:00
                   
Jacek31 napisal:
Fenek Ja osobiscie np. bardzo chetnie bym widzial czytnik kart MMC/SD wpinany do User Port


http://noname.c64.org/csdb/release/?id=17975
Tytuł: rozszerzenie pamieci na USER PORT
Wiadomość wysłana przez: suchy w 25 Września 2011, 18:35
                   
suchy napisal:
... no, ale fakt, faktem pozostaje, ze ciekawe uzytki pod nowe media (np. SD2IEC) poki co powstaja nie u nas (np. DraCopy, Fibr, M2I-maker). Nie ma ci u nas Koderow, co by mogli stworzyc cos rodzimego w tym wzgledzie??


... no to teraz odwoluje moje slowa z zeszlego roku (moze to jednak poskutkowalo   \"Wink\"  ):

http://c64scene.pl/viewtopic.php?t=725