Strona 1 z 2

dziwne zachowanie timerów

: 01 paź 2013, 21:19
autor: Roody
Mam taką zagwozdkę.
mój prg zajmuje prawie całą pamięć z pominięciem d000-e000 (nie wiem czy to ważne)
Korzysta z timerów do generowania liczb losowych.
Mam taki problem , że zachowuje się inaczej na różnych emu i na prawdziwym c64.
generalnie zauważyłem że na vice jest ok jak przed procedurą losujacą zrobię jsr $fddd. A żeby działało to na prawdziwym c64 musi być wpięty AR 7.3 (taki mam) i muszę usunać z kodu ten skok (jsr $fddd). taka sama konfiguracja jak na c64+AR odpala sie poprawnie na CCSWin.
Jak myślcie o co ho?! chciałbym uzyskać ten sam efekt przynajmniej na vice i real c64. jeżeli odpalam na realu konfigurację z vica wygląda to tak jakby timer przejął kontrole nad przerwaniami i wszystko przyśpiesza kilka razy.
Pomóżcie.

: 01 paź 2013, 21:35
autor: wegi
Masz art skulla o używaniu timerów do cyklowania w ca-fan. Może ustawiasz timer w złym trybie albo może nie pamiętam, ale jakiś odczyt pojedynczego bajtu timera mógł go blokować do momentu odczytania drugiego jego bajtu...

: 01 paź 2013, 21:37
autor: Sebaloz/Lepsi.De
Nie wiem jak twoj kod poprawic, ale na forum csdb jest kilka sposobow.
http://csdb.dk/forums/?roomid=11&topici ... allposts=1

Skoro masz wolna pamiec $d000-$e000 to mozesz wygenerowac losowe liczby pod kickassemblerem i dolaczyc taka tabelke do programu.

: 01 paź 2013, 21:46
autor: Roody
chyba strona ca-fan.pl nie działą. czy jest jakieś archiwum ? w którym numerze pamiętasz?

: 01 paź 2013, 21:54
autor: Roody
może rzeczywiście olanie timerów i inna proc. losująca to było by rozwiązanie

: 02 paź 2013, 09:19
autor: Nitro
Spróbuj Hoxsa, Vice nie jest idealny.

: 02 paź 2013, 09:53
autor: skull
Jeszcze musisz inicjować timer na początku, żeby zaczął zliczać:

lda #$11
sta $dc0e


wtedy załóż sobie też zasięg liczb do losowania

lda #$xx
sta $dc04

teraz możesz pobierać "losowe" wartości przez:

lda $dc04

: 02 paź 2013, 15:01
autor: Roody
dzięki.

mam jeszcze jedno pytanie zadam je w tym temacie żeby nie zakładać nowego.
Czy znacie jakiś paker który bezboleśnie (czyli wypluje gotowy plik z proc. depakującą) spakuje plik o wielkości 250 bloków (0800-ffff) ?

: 02 paź 2013, 16:27
autor: Nitro
Jak jednoplikówka, to Exomizer będzie najlepszy.

: 02 paź 2013, 16:49
autor: Roody
Nitro a pomógł byś jak poprawnie stworzyć linię komend lub plik .bat . nie mam doświadczenia w tym temacie. dzięki z góry!

: 02 paź 2013, 17:24
autor: Sebaloz/Lepsi.De
C:\c64\exomizer\dos\exomizer sfx $2800 piernik.prg -n -o piernik2.prg

: 02 paź 2013, 17:28
autor: Roody
dzięki Seba zaraz obczaję

: 02 paź 2013, 17:48
autor: Roody
Prawie sie udało. mimo że po wylistowaniu jest odp. sys w basicu do uruchomienia, to i tak muszę go wklepać z łapy. run nie działa.
Druga sprawa to to.że po spakowaniu uszkadza frag. bitmapy która leży od e000 w górę.

: 02 paź 2013, 17:59
autor: Sebaloz/Lepsi.De
uzywasz ostatniej wersji 2.0.7?

Added feature to sfx-mode that complains if the data it too big to fit in the available memory of the selected target, suggested by Luca/FIRE

: 02 paź 2013, 18:09
autor: Roody
sorry już wszystko ok.

: 13 paź 2013, 23:32
autor: wegi
Dziwna nazwa wątku - timery zachowują się właściwie to programmer dziwnie je usiłuje oprogramowywać :-)

: 14 paź 2013, 09:52
autor: skull
przy zakładaniu wątku jeszcze nie było to takie pewne.

: 14 paź 2013, 11:51
autor: Roody
Z tymi timerami to nie chodziło o ich odpowiednie zainicjowanie itp.
Po prostu na początku próbowałem załadować cały plik do ramu bez pakowania a nie wziąłem pod uwagę,że jak ładuje bez AR to komoda korzysta z kernala. a jak ladowałem z AR to niby było ok ale coś przestawiało w rejestrach odp. za timery i na niektórych emu proc. losująca zachowywała się dziwnie. sprawę załatwiło ładowanie spakowanego pliku . Na początku myślałem sobie - po co pakować i tak pewnie nikt nigdy oprócz mnie nie obejrzy tego na real c64......

: 14 paź 2013, 12:23
autor: kenji
Jeśli za realny sprzęt uważasz też zestaw z 1541U, to jak najbardziej oglądnąłem Twoje demo na nim. Każde demo tak oglądam.

: 14 paź 2013, 12:37
autor: skull
dokładnie - z ultimatem to już przyjemność, nie trzeba się tak rozstawiać z tymi zasilaczami - wystarczy przełożyć pendrive. Szybkość procesu już nie dużo większa od odpalenia w emu.