Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: c64 +1 MB RAM + Multitasking  (Przeczytany 2380 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
c64 +1 MB RAM + Multitasking
« Odpowiedź #15 dnia: 10 Listopada 2013, 12:03 »
Ojej rzeźbi dla siebie ale po co ta dyskusja - kolega zrobił ciekawe rozszerzenie i jaki sens deprecjonować to.

Fajnie, że zrobiłeś, szacun że potrafisz. Imho nie przyjmie się to jako standard ale jest to przykład fajnej polskiej myśli technicznej i to jest ważne. Jak można ganić kogoś za hobby do jasnej cholery !!! Dużo pracy z oprogramowaniem tego prawda i jeszcze zapewne po drodze bugi do usunięcia, nawet mało tego nie wgłębiałem się w to bo za cienki jestem, ale faktycznie podział zadań przez IRQ czy NMI nie jest idealnym rozwiązaniem. Powinieneś dołożyć własny jakiś np. timer do IRQ czy nmi lub jakąś logikę, która by to hardwareowo przełączała zachowując rejestry i stan I/O. To naprawdę jest wyzwanie. I faktycznie jesteś sam na placu boju. Mało tego jak wszystko to rozwiążesz to i tak wątpię, żeby ludzie zaczęli pisać na to soft. Mnie osobiście interesuje program tak napisany, który dobrze działa na gołym C64 bez dopałek itp. patrz np. wektory Oswalda w Plastic kiss. Idąc dalej - można w bardzo łatwy sposób wykorzystać kisielowego MA/GA Neoram do zrobienia superprodukcji i potraktować to jako magazyn danych z błyskawicznym dostępem do nich - jednak tak się nie dzieje. Setki godzin zajęło mi oprogramowanie MA/GA i to setki bliżej tysiąca jak dalej. Dużo pracy ciebie czeka i nie zrobisz przełomu zapewne ale po co traktować kogoś jak przestępcę tylko dlatego, że mu się chce coś zrobić.

Ja np. potrzebuję ze 25 płytek najprostszego carta na 32KB bo chciałbym wydać wersję CBM asteroids na carcie - nie po to żeby zarabiać, tylko wypuścić coś poskiego i kultowego i też jestem sam na placu boju. \"\"

Nie przejmuj się kolego - wykonałeś dobrą rzecz i bardzo dobrze, że to zrobiłeś.
Kisiel - please behave
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

Offline F7sus4

  • Level 6
  • ******
  • Wiadomości: 2410
c64 +1 MB RAM + Multitasking
« Odpowiedź #16 dnia: 10 Listopada 2013, 16:59 »
Projekt bylby super, gdyby wiecej osob uzywalo dzis prawdziwego C64 do programowania, zamiast VICE.

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
c64 +1 MB RAM + Multitasking
« Odpowiedź #17 dnia: 10 Listopada 2013, 19:03 »
projekt jest ciekawy, ale nadal nie mogę znaleźć praktyczno-efektownego jego wykorzystania (no może, dobry na turboassembler w oddzielnym segmencie).

Bez obsługi zbioru timerów, będzie robił tylko za "dziwny" cartridge do rozszerzenia pamięci.

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
c64 +1 MB RAM + Multitasking
« Odpowiedź #18 dnia: 10 Listopada 2013, 19:35 »
Skull:
Bez obsługi zbioru timerów,

Problem w tym, że program w segmencie do IRQ czy NMI też może używać timerów i co wtedy...
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

Offline F7sus4

  • Level 6
  • ******
  • Wiadomości: 2410
c64 +1 MB RAM + Multitasking
« Odpowiedź #19 dnia: 10 Listopada 2013, 20:00 »
A tego pisania SYS x, nie warto wyprowadzic finalnie pod przycisk, ktory z automatu przelaczalby komcia pomiedzy poszczegolnymi "taskami"? Byloby sto razy wygodniej.

Offline hobocti77x

  • Level 5
  • *****
  • Wiadomości: 731
c64 +1 MB RAM + Multitasking
« Odpowiedź #20 dnia: 12 Listopada 2013, 12:55 »
F7sus4 - to żaden problem .
Ale ja myślę żeby zrobić to tak :
1 klawisz RESTORE wywołuje przerwanie
2.W przerwaniu czekam na wciśnięcie klawisza 0...F i przechodzę do wskazanego wirtualnego c64

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
c64 +1 MB RAM + Multitasking
« Odpowiedź #21 dnia: 12 Listopada 2013, 23:36 »
hobocti77x

Co jeżeli uruchomione taski również korzystają z NMI ?

Co jeżeli któryś z tasków softwareowo WYŁĄCZY NMI ? Wtedy klawisz restore NIE DZIAŁA - zbocze nie opadnie skoro nie zostało podniesione i nie wyzwoli przerwania
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

Offline Zito

  • Level 2
  • **
  • Wiadomości: 67
c64 +1 MB RAM + Multitasking
« Odpowiedź #22 dnia: 13 Listopada 2013, 09:52 »
Jak chcesz przełączać z klawiatury praktycznie niewidocznie dla systemy to taka koncepcja powinna się sprawdzić: http://www.lemon64.com/forum/viewtopic.php?t=33167
Dość elegancko rozwiązuje problem wszelakiego dziurawienia obudów i wstawiania brzydkich przełączników.
A na pytanie o co chodzi Kisielowi: by wygonić dyskutantów z tego forum (co obserwując od jakieś czasu skutecznie się udaje).

Offline hobocti77x

  • Level 5
  • *****
  • Wiadomości: 731
c64 +1 MB RAM + Multitasking
« Odpowiedź #23 dnia: 13 Listopada 2013, 12:17 »
Wegi zadałeś ciekawy temat. W sumie jest kilka rozwiązań . Czy masz wiedzę które programy z tego korzystają i czy jest ich wiele ?
Jeśli kilka to można je "rozbroić" programowo i po problemie .Myślę ze nie byłoby to szczególnie trudne. Mogę nawet opracować prostą przystawkę która byłaby w tym pomocna.
Taki "wredny" programik musi przynajmniej raz wywołać przerwanie NMI .
Jest też łatwy sposób hardwarowy (jeśli to okażę się konieczne  to dołożę ) na "naprawę " tej "niedoróbki " \"\"

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
c64 +1 MB RAM + Multitasking
« Odpowiedź #24 dnia: 13 Listopada 2013, 12:59 »
Wszystkie programy które używają NMI do synchronizacji z plamką rastra np.

http://www.the-dreams.de/articles/2x2-fli.txt

większość topowych dem

Reflection gdzie Quiss wywołuje ponad IRQ NMI żeby na dolnym borderze odtwarzać muzykę.
Te progsy nie robią tego złośliwie, żeby nie działało Twoje rozszerzenie - one po prostu używają NMI albo je wyłączają, żeby niechciane NMI nie powaliło ich wykonania.
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

Offline hobocti77x

  • Level 5
  • *****
  • Wiadomości: 731
c64 +1 MB RAM + Multitasking
« Odpowiedź #25 dnia: 13 Listopada 2013, 13:39 »
W sumie to i tak chyba to "poprawię" tym bardziej że można to łatwo zrobić .
Zastanawiam się czy nie dołożyć swojego Timera do wywoływania przerwań NMI na potrzeby systemu .

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
c64 +1 MB RAM + Multitasking
« Odpowiedź #26 dnia: 13 Listopada 2013, 13:58 »
Co Ci da osobne źródło NMI jeżeli task je obsługuje i ma wektor skierowany na własną jego obsługę. Potrzebujesz Ultimax mode żeby przesłonić $fffa/$fffb vector na swoją obsługę i to tylko wtedy gdy wywoływane jest Twoje NMI. Musisz też mieć zaaranżowaną własną obsługę... No i musisz mieć kopiowanie zawartości I/O żeby poprawnie przełączać task. To nie jest takie proste.

Mało tego - "napięty cyklowo" task nie ruszy ponownie jeżeli nie zapuścisz go w tym samym miejscu plamki rastra co go przerwałeś.

edit

Idąc dalej - nie wznowisz taska nawet w tym samym miejscu plamki rastra jeżeli nie zainicjujesz go odpowiednio... Mam na myśli sztuczkę wyświetlania sprajtów ponad wyłączonym ekranem - przecież nie możesz wiedzieć, kiedy trzeba otworzyć wszystkie 4 bordery na wyłączonym ekranie ! To często stosowana sztuczka w demach - patrz początek tego:

http://www.youtube.com/watch?v=zg7RdwrofjU

Tu freezer zawsze daje ciała \"\"
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
c64 +1 MB RAM + Multitasking
« Odpowiedź #27 dnia: 13 Listopada 2013, 14:15 »
tak, większy problem będzie z "powrotem" niż przejściem - na razie nie znam urządzenia które robi dokładny powrót do stanu (prócz monitora w Vice - a i tam wydaje mi się że czasem gubi timery).

Offline wegi

  • Level 7
  • *******
  • Wiadomości: 2588
c64 +1 MB RAM + Multitasking
« Odpowiedź #28 dnia: 13 Listopada 2013, 14:42 »
Skull:
tak, większy problem będzie z "powrotem" niż przejściem

Dokładnie - nie mówiąc już o dalszych problemach jak np. doczytywanie danych ze stacji. Lajtowo niech tylko jeden task z kilku używa driva. Komunikacja odbywa się przez $dd00
na nieszczęście są tam dwa najmłodsze bity banku VICa - zrozumiałe, że jeżeli inny task zmieni bank VICa tudzież manager tasków to zrobi - to popieprzy on transmisję...

Proste programy w Basicu można taskować, ale z demami ciężka sprawa. Gry ewentualnie 1 plikowe można próbować...

To nie jest takie proste jak Ci się wydaje hobocti77x
Gdy po wynalezieniu komputera kwantowego jedni pytali o sposób wytwarzania prądu, kisiel pytał jak wytwarzać świeczki...

NIECH NIE BĘDZIE NICZEGO !!!

CZY RAF PIŁ Z JERICHA KUBECZKA ???

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
c64 +1 MB RAM + Multitasking
« Odpowiedź #29 dnia: 13 Listopada 2013, 15:08 »
wegi:
To nie jest takie proste jak Ci się wydaje hobocti77x

To akurat jest bardzo proste,
- jeden TVset
- jeden czterowejściowy spliter sygnałów wideo.
- jeden układ Cortex M0 do obsługi pilota IR RC5 oraz klawiatury z podziałem sygnału na buforach 1 na 4.
- 4 płyty główne C64 sprawne i działające
- 4 stacje dysków 1541 II.
I mamy sprzętowe rozszerzenie 256KB na pamięciach DRAM, w pełni funkcjonalne cztery taski z systemem nadzorującym a wszystko mieści się na jednym biurku.
Da sie ?
Da,  tylko trzeba podejść do tematu nie jak wszyscy poprzednicy.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....