Monitor - debugger VICE

Forum, na którym możemy pogadać o wszelakim oprogramowaniu na C64, grach, programach.
Wiadomość
Autor
Awatar użytkownika
wegi
Posty: 839
Rejestracja: 14 lip 2009, 01:17

Monitor - debugger VICE

#1 Post autor: wegi »

Dawajcie dobre porady nt obsługi tego narzędzia:

1. Jak mogę zmienić zawartość wybranej komórki?

Jest możliwość tak jak w monitorze actiona

m 0900 i edytowania tego?

czy tylko f 0900 0900 00 mi zostaje?

2. Jak mam ustawić breakpointa np. na zapis do $d020 czyli żeby breakpoint się odzywał tylko w momencie zapisu bądź odczytu danej komórki? Albo np na zapis konkretnej wartości do wybranej komórki?

3. J.w. ale dla wybranego obszaru?

4. To samo dla drive'a

5. Jak zgrać wybrany obszar ramu C64 czy stacji do pliku?

6. Czy jest możliwość deassemblacji "wstecz"?

Awatar użytkownika
skull
Posty: 760
Rejestracja: 15 wrz 2008, 08:18
Grupa: samar

#2 Post autor: skull »

dobra zaczynam
ad. 1
do wpisywania bezpośrednio w komórkę (komórki) służy operator:
>

np.
> d020 01

ale można tez ciągiem
> d020 01 02
itd.
Bo pecet to zwykły banan...

Awatar użytkownika
BagoZonde
Posty: 57
Rejestracja: 15 gru 2011, 09:33
Grupa: Commocore
Kontakt:

#3 Post autor: BagoZonde »

Ad. 2. + 3.
od tego są breakpointy czy tracepointy. Poleceniem break ustawiasz pierwszy, w przypadku drugiego możesz też podać obszar dodając drugi adres. Jeszcze jest watch.

Ad. 4.
Nie wiem.

Ad. 5.
bsave D:\Jakiś\Path\plik 0 0801 2000

Na sieci jest pełen manual do monitora VICE.

Fajna jest ta stronka BTW: http://www.visual6502.org/JSSim/

P.S. Co z Amaurote, porzuciłeś własny temat? Nie ładnie tak ;).

Pozzzdr

Awatar użytkownika
BagoZonde
Posty: 57
Rejestracja: 15 gru 2011, 09:33
Grupa: Commocore
Kontakt:

#4 Post autor: BagoZonde »

Odnośnie Amaurote: yyy, sorry, miałem otworzony jeszcze inny wątek at0mica i w trybie pomieszania z pochlastaniem myślałem, że to on pyta.

Tutaj jest manual do monitora Vice: http://www.viceteam.org/vice_9.html

Awatar użytkownika
at0mic
Posty: 82
Rejestracja: 02 gru 2011, 14:55

#5 Post autor: at0mic »

P.S. Co z Amaurote, porzuciłeś własny temat? Nie ładnie tak .
Założenia moje były błędne i zginąłem w gąszczu nieprzetartym bo grę chciałem zrobić trochę w inny sposób ale za mało było przygotowań i doświadczenia.
Za dużo pracy na jednego i grafiki do przerabiania i wyciągania - nie jestem jeszcze na tę grę gotowy ale bawię się przekształceniami izometrycznymi i wyliczaniem różnych rzeczy w zaciszu domowym.
Obrazek
Obrazek

jeśli ktoś wyciągnie całość grafiki do gifów 1 bitowych lub bmp albo nawet danych hex'a żeby można sobie to ładnie na ekranie poukładać to przejdę do eksperymentów z tą grafiką i nie obiecuję że amaurote z tego wyjdzie bo może wyjdzie całkiem nowa gra...


Z uwagi na to że Jakub Husak (atarionline.pl) poznał dogłębnie tę grę i przyspieszył ją na Atari XL dwukrotnie to może uzyskam jakąś pomoc od niego. Kuba dodał też intro z ciekawym efektem zerwania synchronizacji i programwo wytworzonymi dźwiękami jak w starym telewizorze rubin ;)
grę można pobrać tu: http://atarionline.pl/v01/index.php?ct= ... B#Amaurote+
Ostatnio zmieniony 20 kwie 2012, 11:29 przez at0mic, łącznie zmieniany 2 razy.
At0mic

Awatar użytkownika
BagoZonde
Posty: 57
Rejestracja: 15 gru 2011, 09:33
Grupa: Commocore
Kontakt:

#6 Post autor: BagoZonde »

Zapodaj większe obrazki choćby na mojego e-maila. To powinno być btw. w innym wątalu ;).

Awatar użytkownika
wegi
Posty: 839
Rejestracja: 14 lip 2009, 01:17

#7 Post autor: wegi »

Uporządkuję trochę może przyda się komuś albo mi jak zapomnę, będę pamiętał gdzie szukać ;-)


1. Jak mogę zmienić zawartość wybranej komórki?

niestety chyba tylko jak skull pisał (thx)
>0900 01 02
wpisze do $0900 wartość 1 i do $0901 #2

2. Jak mam ustawić breakpointa np. na zapis do $d020 czyli żeby breakpoint się odzywał tylko w momencie zapisu bądź odczytu danej komórki? Albo np na zapis konkretnej wartości do wybranej komórki?


Tego jeszcze dokładnie nie rozgryzłem jak ustawię breakpointa mam kłopoty z jego wyłączeniem, jak się uda potem mi nie zawsze działa jak go uruchamiam - tu jeszcze muszę poćwiczyć


w d020 czuwa nad zapisem i odczytem $d020

w - wypisuje listę breakpointów i watchpointów

delete nr - usuwa breakpointa o podanym numerze

watch czuwa nad zapisem i odczytem danego obszaru
a breakpoint nad egzekucją kodu w danym obszarze

break z nałożonymi warunkami (conditions) staje się checkpointem

3. J.w. ale dla wybranego obszaru?

w load d020 d027 czuwa nad odczytem obszaru d020 do d027


4. To samo dla drive'a

przejście do urządzenia - deassemblacja driva itp:

dev 8:
trzeba jeszcze w menu wybrać okno z rejestrami CPU driva

- teraz wszystkie komendy bload, bsave, load, watch, break itp. odnoszą się do driva

dev C: powrót do c64


5. Jak zgrać wybrany obszar ramu C64 czy stacji do pliku?

komendy l,s,bl,bs

l i s pracują z loadadresem - 2 bajty adresu + dane
bl,bs nie używają bez loadadresu - same dane

bs "C:\dane\mojplik" 0 0100 0300 zgrywa do pliku (obszar podany w komendzie) z aktualnie wybranego urządzenia

6. Czy jest możliwość deassemblacji "wstecz"?
miałem na myśli tak jak w actionie f5 i f7 ale tak dobrze niestety nie ma

7 - Przydatna komenda - bank - ustawia widoczność obszarów w danej sesji monitora możliwe obszary:
default cpu ram rom io cart

8 - ret monitor włączy się po wykonaniu przez CPU RTS lub RTI

9 komendy step (z) - wykonuje 1 komendę next - step over - jeżeli jest to JSR - nie "wchodzi do procedury"

10 ? = help ?komenda - rozpisuje daną komendę np. ?dev

Awatar użytkownika
wegi
Posty: 839
Rejestracja: 14 lip 2009, 01:17

#8 Post autor: wegi »

Dalsze ważne ustawienia w VICE, było na forum nie mogę znaleźć - żeby odpalały się pliki prg trzeba mieć ustawiony dysk startowy d64 i takie ustawienia w pliku
vice.ini:

AutostartPrgDiskImage="C:\C64Project\emulator\autostart-C64.d64"
AutostartRunWithColon=0
AutostartHandleTrueDriveEmulation=0
AutostartWarp=1
AutostartPrgMode=2
DriveTrueEmulation=1

Awatar użytkownika
wegi
Posty: 839
Rejestracja: 14 lip 2009, 01:17

#9 Post autor: wegi »

BagoZonde pisze:
Fajna jest ta stronka BTW: http://www.visual6502.org/JSSim/

http://www.youtube.com/watch?v=fWqBmmPQ ... re=mh_lolz

Tu jeszcze lepsze widoki inżynierskiej rewersji z tej stronki

ODPOWIEDZ