home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
polski_aminet
/
blabla
/
memoryviewer
/
memoryviewer.doc
< prev
next >
Wrap
Text File
|
1980-01-04
|
20KB
|
419 lines
Memory Viewer
Wersja 2.4
Data 31.01.1996
Copyright (c) 1996 Kysy/AM & 2xBla
Instrukcja obsîugi
Spis treôci:
Numer linii:
1. Prawa autorskie i rozpowszechnianie. 27.
2. Do czego ten program sîuûy? 38.
3. Opis programu. 92.
4. Wymagania, biblioteki, dane techniczne. 201.
5. Komunikaty pîenduf. 212.
6. Co w przyszîoôci? 238.
7. Historia programu. 257.
8. Pozostaîe informacje. 326.
1. Prawa autorskie i rozpowszechnianie.
Jest to program typu FreeWare. Oznacza to, ûe jego rozpowszechnianie
jest nieodpîatne. Zastrzegam sobie prawa autorskie do tego programu. Nie
zezwalam teû na jego odpîatne rozpowszechnianie (poza typowymi stawkami
za dystrybucjë dysków PublicDomain). Nie zezwalam teû na dokonywanie w
programie jakichkolwiek zmian. Program *POWINIEN* byê rozpowszechniany
wraz z dokumentacjâ i ewentualnie pozostaîymi plikami doîâczonymi do
archiwum, wyszczególnionymi w pliku "ReadMeFirst.Asc".
2. Do czego ten program sîuûy?
Memory Viewer jest to bardzo prosty monitor pamiëci. Pozwala nam na
wyôwietlenie w oknie dowolnego obszaru pamiëci. Posiada wbudowanâ
opcjë skoków pod dany adres, jak i dwa gadûety sîuûâce do poruszania
sië "na piechotë" po pamiëci. Do wersji 2.0 doîâczyîa jeszcze opcja
przeszukiwania pamiëci w celu odnalezienia dowolnego îaïcucha
tekstowego. Nowoôciâ jest teû moûliwoôê zgrania fragmentu pamiëci do
pliku. Poprawione równieû zostaîo kilka bîëdów, oraz dodana zostaîa
moûliwoôê obsîugi programu z poziomu klawiatury. Od wersji 2.2
funkcjonuje równieû opcja PROG sîuûâca do definiowania zmiennych.
Zaletâ MV sâ minimalne wymagania i maîa objëtoôê programu. Co prawda
wersja 2.2 jest juû prawie dwukrotnie wiëksza od pierwszej wersji
publicznej, jednak i tak sâ to jeszcze wielkoôci maîe.
Program zawiera takûe jeszcze jednâ pomocnâ funkcjë - odôwieûanie
ekranu. Pomocnâ moûe ona sië okazaê szczególnie przy lustracji
niektórych rejestrów. Opcja ta z wersji na wersjë przechodziîa sporâ
ewolucjë. W 1.0 byîo tylko jednokrotne odôwieûanie, w 1.1 dodano
moûliwoôê automatycznego odôwieûania, a w 2.0 jednokrotne odôwieûanie
skasowano. Od 2.1 poprawiono bîëdnie dziaîajâce odôwieûanie z 2.0, a w
2.2 umoûliwiono jednokrotne odôwieûenie ekranu.
Program ten nie dziaîaî na komputerach z preferencjami, w których
czcionka systemowa (domyôlna i ta z belki) byîa za duûa (rzëdu 11
pikseli i wyûsze). W wersji 2.3 ten, oraz kilka innych bîëdów zostaîo
poprawionych.
Program w pierwotnym zamierzeniu powstawaî do moich wîasnych potrzeb.
Czësto bowiem potrzebujë programu, dziëki któremu ôledziîbym, jakie
efekty odciska w pamiëci program, który aktualnie piszë. Przydaje sië to
gîównie przy podpatrywaniu rejestrów, struktur i tym podobnych obiektów,
w których dane wartoôci zmieniajâ sië w czasie. Tutaj opcja AUTOREFRESH
wypada znakomicie.
Viewery tego typu moûna znaleúê niemal w kaûdym asemblerze (patrz
Trash'm'one, Asm'one, itp.). Nawet AMOS miaî tryb bezpoôredni, gdzie
moûna byîo sobie pogrzebaê przy pomocy PEEK i POKE w pamiëci. Poniewaû
moje programy powstajâ w jëzyku Amiga E - program taki byî mi niemal
niezbëdny i dlatego wîaônie powstaî. Udostëpniam go z myôlâ, ûe moûe
przydaê sië równieû innym piszâcym w E, C, Pascalu czy innym jëzyku.
Zdajë sobie sprawë, ûe nie zawiera on jeszcze wszystkich potrzebnych
opcji, dlatego namawiam do kontaktu ze mnâ celem wymiany wszelkich
uwag.
UWAGA: Program przeznaczony jest dla ludzi nieco orientujâcych sië w
mapie pamiëci. Pamiëtaj, ûe nieumiejëtne posîugiwanie sië programem
moûe *BARDZO* îatwo zawiesiê komputer. Mimo, iû MV nie ma jeszcze opcji
edycji pamiëci, to musisz zwróciê uwagë na strefy zastrzeûone, rejestry
typu WRITE ONLY, oraz na dolnâ i górnâ granicë pamiëci!!!
3. Opis programu.
Program moûna uruchomiê zarówno spod CLI, jak i spod WorkBench'a.
MV nie wymaga przekazywania poprzez CLI, bâdú przez ikonkë ûadnych
argumentów.
Program otwiera na ekranie maîe okno bëdâce zarazem menu gîównym. Sâ tam
dostëpne nastëpujâce gadûety:
< = Przycisk sîuûâcy do przesuniëcia zawartoôci okna o 180 bajtów
do tyîu. Wielkoôê ta wynika z iloôci danych przedstawianych
jednorazowo na ekranie. Jest to wiëc 10 linii po 18 bajtów.
> = Ten gadûet ma odwrotnâ funkcjë. Przesuwa on
zawartoôê okna takûe o 180 bajtów, tyle ûe do przodu (tj.
zwiëkszajâc adres).
= = Ten gadget wîâcza/wyîâcza tryb auto-refreshingu. Teraz zawartoôê
okna bëdzie odôwieûana automatycznie. Informacja o aktualnym
stanie tego przycisku znajduje sië na górnej belce.
JUMP = Po wciôniëciu tego gadûetu pojawia sië dodatkowe okienko, w
którym moûemy wpisaê adres, którego wartoôê ma zostaê
odzwierciedlona na ekranie.
FIND = Ta opcja powoduje otwarcie kolejno trzech okien. W pierwszym
wpisujemy ciâg tekstowy, który chcemy znaleúê. W drugim adres
od którego zamierzamy przeszukiwaê pamiëê, a w trzecim oknie
iloôê pamiëci w bajtach do przeszukania. Proces szukania
moûna przerwaê naciskajâc prawy przycisk myszy.
PROG = Jest to dosyê rozbudowana opcja pozwalajâca na stworzenie
kilku, czësto uûywanych zmiennych. Zmienne te posiadajâ
nadanâ przez uûytkownika nazwë i zawierajâ okreôlony adres,
lub wskaúnik do tegoû adresu. Po uaktywnieniu tej opcji
pokazuje sië okno, gdzie moûemy wpisywaê rozkazy. MV zostaî
wyposaûony w kilka komend pozwalajâcych na wywoîywanie,
przypisywanie i uzyskiwanie informacji o zmiennych.
"?" - Powoduje pokazanie iloôê zdefiniowanych zmiennych
"? x" - Pokazuje nazwë i wartoôê okreslonej zmiennej.
Kaûda zmienna, oprócz nazwy posiada takûe swój
odpowiedni identyfikator bëdâcy liczbâ z zakresu
(1-20). Argument "x" to wîaônie ta liczba. Przy
wpisywaniu, nie moûemy podaê "x" mniejszy od zera,
wiëkszy od 20 i zarazem wiëkszy od iloôci
zdefiniowanych zmiennych. Np. "? 2" dla
pokazanie nazwy i wartoôci zmiennej numer 2.
"nazwa=war" - Jest to komenda, przypisujâca danâ wartoôê
"war" do zmiennej o nazwie "nazwa". Jeôli taka
zmienna jeszcze nie istnieje, oraz limit 20
zmiennych nie zostaî przekroczony, to zmienna
taka zostanie utworzona. W przypadku istnienia
juû zmiennej o takiej samej nazwie, jej
wartoôê zostanie zmieniona.
"nazwa" - Wpisanie samej nazwy *ISTNIEJÂCEJ* zmiennej
powoduje skok do adresu bëdâcego wartoôciâ
zmiennej.
Przy tworzeniu nazw zmiennych moûna uûywaê wszelkich
dostepnych znaków. Naleûy jedynie pamiëtaê, aby nie
przesadzaê z dîugoôciâ nazwy. Zalecane jest wprowadzanie nazw
o dîugoôci do 10 znaków.
Moûliwe jest równieû stworzenie wskaúnika do danego adresu.
W tym celu *PIERWSZYM* znakiem nazwy zmiennej *MUSI* byê znak
"&". Samo tworzenie zmiennych ma sens jedynie przy
korzystaniu z wielu adresów na raz i czëstych skoków pod
róûne lokacje pamiëci. Np. "&execbase=4". Wpisanie takiej
komendy spowoduje stworzenie zmiennej o nazwie "&execbase",
której wartoôciâ jest liczba "4". Jednakûe wpisanie w
edytorze "&execbase" nie spowoduje skok pod adres "4", tylko
skok pod adres zawarty pod adresem "4" - czyli w tym przypadku
do struktury ExecBase.
SAVE = Gadûet ten powoduje zapisanie okreôlonego bloku do pliku. W
pierwszym oknie naleûy wpisaê adres, a w drugim iloôê bajtów do
zapisania. Program zgrywa dane do pliku w RAM: o nazwie
tworzonej z "_MV0x" i adresu od którego zaczëliômy zgrywanie.
Przykîad: "_MV0xBFE801" dla zgrania rejestrów adresowych z
zegarem czasu rzeczywistego.
ABOUT = Tutaj znajdujâ sië informacje o programie
QUIT = wyjôcie z programu
Program moûna równieû obsîugiwaê z poziomu klawiatury. Dowolne gadgety
moûemy wywoîaê wciskajâc odpowiednie klawisze - podkreôlone w nazwie
gadgetu. Przykîadowo dla SAVE, bëdzie to klawisz "S", dla PROG -
"P", a dla "=" -> "=".
Gadûet "<" moûemy uaktywniê poprzez wciôniëcie klawisza strzaîki w
LEWO. Gadûet ">" analogicznie poprzez strzaîkë w PRAWO.
Dodatkowo gadûet QUIT - oprócz klawisza "Q" moûna obsîuûyê przez "ESC".
Klawisz RETURN równieû ma specjalnâ funkcjë niedostepnâ z poziomu
innych opcji. Powoduje on *JEDNOKROTNE* odôwieûenie ekranu.
Prawy przycisk myszy przejâî kontrolë nad opcjâ SLEEP. Za pomocâ tej opcji
moûna "uôpiê" program. Oznacza to, ûe program bëdzie dziaîaî dalej, ale
jego okno bëdzie zmniejszone do wielkoôci samej belki tytuîowej. Pozwala
to m.in. na wygospodarowanie trochë wolnego miejsca na ekranie. Wyjôcie
ze stanu uôpienia nastëpuje po wciôniëciu prawego przycisku myszy.
4. Wymagania, biblioteki, dane techniczne.
Program niestety potrzebuje systemu co najmniej w wersji 37, czyli 2.04+
Program nie potrzebuje ûadnych zewnëtrznych bibliotek i powinien
dziaîaê przy minimalnej iloôci pamiëci.
MV Zajmuje aktualnie 10212 bajtów. Listing zawiera nieco ponad 200
linii, a z bibliotek wewnëtrznych uûywa INTUITION, GADTOOLS, DOS i EXEC
library.
5. Komunikaty pîenduf.
Poniûej znajduje sië zestawienie mogâcych sië pojawiê bîëdów.
ERROR: Nie mogë otworzyê gadtools.library v37+ !
- brak biblioteki, bâdú
niewîaôciwa jej wersja
ERROR: Nie mogë uzyskaê informacji o ekranie !
- z róûnych powodów :)
ERROR: Nie mogë create context !
- prawdopodobnie brak pamiëci na
stworzenie struktury gadûetów
ERROR: Nie mogë stworzyê gadgetu !
- patrz wyûej
ERROR: Nie mogë otworzyê okna !
- prawdopodobnie brak pamiëci
ERROR: Nie mogë sië uruchomiê. Potrzebujë OS 2.04+ !
- program
wymaga systemu conajmniej w
wersji 2.04
ERROR: Nie mogë nagraê pliku do RAM: !
- prawdopodobnie brak
pamiëci
ERROR: Nie mogë znaleúê ekranu WB !
- nie ma Workbencha???
6. Co w przyszîoôci?
Jeûeli pokaûe sië nowsza wersja, to spróbujë dodaê opcjë opóúnienia
kontrolowanego przy opcji auto-refresh, oraz sprzëûenia programu
z BDHT File Editor'em.
Wreszcie przydaîaby sië teû moûliwoôê edycji pamiëci, zaalokowania
dowolnego obszaru, zwolnienia go, wypeînienia danej przestrzeni
pamiëci okreôlonym ciâgiem, zaîadowania pliku pod dany adres, moûliwoôê
oglâdania pamiëci teû w trybie ASC, szukanie nie tylko ciâgów
tekstowych, ale teû i po wartoôciach HEX/DEC/BIN, dodanie wciskania
przycisków przy wyborze ich z klawiatury, otwarcie programu na dowolnym
ekranie publicznym, "sztywne" ustawienie czcionki na Topaz 8,
przyspieszenie wyôwietlania danych, no i chyba jeszcze tylko jakiejô
wbudowanej gierki brakuje -> co powiecie na proste ASTEROID'y :^)
Wszystko cool, tylko naleûaîoby wtedy zmieniê nazwë na Memory Operator!
7. Historia programu.
wersja 1.0 02.12.1995 o Pierwsza wersja publiczna
wersja 1.1 26.12.1995 o Poprawiona opcja sleepingu
o Wprowadzania danych innych niû dziesiëtnie
przy opcji JUMP
o Nowa opcja AUTOREFRESH
wersja 2.0 30.12.1995 o Opcja sleep poprawiona jeszcze lepiej
o Przy wpisywaniu czegoô do STRING_GADGET,
kursor jest juû w ôrodku i nie trzeba
klikaê myszâ
o Dodana opcja SAVE
o Dodana opcja FIND
o Wywalona opcja REFRESH
o Dodane informowanie o stanie AUTOREFRESH
o Moûliwoôê 100% obsîugi z klawiatury
o Nie obciâûanie procesora podczas
czekania na wiadomoôê od usera
o I na koniec specjalnie dla pewnego
czîowieka z rodziny "lemurowatych"
LEGALNE odczytywanie stanu przycisków
myszy 8-P
wersja 2.1 14.01.1996 o Wyôwietlanie danych w stosunku do
poprzednich wersji ponad dwa razy
szybsze!
wersja 2.2 15.01.1996 o Przycisk SLEEP Weg! Jego funkcjë
przejmuje RMB
o AUTOREFRESH dziaîa (chyba :)
o Dodana rozbudowana opcja PROG
o Klawisz RETURN powoduje jednokrotne
odôwieûenie ekranu
o Podmienione nieporëczne klawisze "<"
i ">" z poprzednich wersji na
normalne klawisze strzaîek
o Zwiëkszona iloôê jednoczeônie
wyôwietlanych danych z 16 na 18
bajtów w linii
o Odstëp miëdzy kolejnymi bajtami
zmniejszony do zera
o Poprawiony maîy bîâd pojawijâcy sië
przy wyjôciu ze stanu SLEEP,
a objawiajâcy sië niepeînym
wyôwietleniu wartoôci
o Poprawiony jeden bîâd interpunkcyjny
w instrukcji :-)
wersja 2.3 20.01.1996 o poprawiona opcja SLEEP
o w niewielkim stopniu przyspieszono
czekanie na komunikaty od uûytkownika
o program jest "twardo" ustawiony na
czcionkë Topaz 8
o poprawiona opcja SEARCH
wersja 2.4 31.01.1996 o Zmieniony sposób odczytywania
danych wprowadzanych do gadgetu
typu STRING. Teraz 100% legalnie
i bez zawieszania
o Program wreszcie dziaîa na
Amigach z systemem v37+ czyli 2.04
o W instrukcji zmieniony sposób
inicjalizowania cech z "*" na "o" :)
auyourd'hui: 31.01.96 (czytaj [uûurdîi] -> dzisiaj :)
8. Pozostaîe informacje.
UWAGA - Ta wersja powstaîa gîównie dziëki pomocy kochanych kumpli z
zespoîu (downa?) BlaBla :-) Wielkie Dziëki za wsparcie psychiczne i moralne,
ale teû cenne uwagi... porady... groúby!!! :) Program jest
dedykowany osobie, która miaîa najwiëkszy wpîyw na koïcowy wyglâd
i dziaîanie programu - LeMUrowi/Fire & blabla
Jeôli tak dalej pójdzie, to moûecie spodziewaê sië niedîugo MV w wersji
gdzieô tak 7.0 !?! Dziëki ludziska. Jesteôcie wspaniali - wîaônie tak
wyobraûaîem sobie naszâ wspóîpracë!
INFO - dla niewtajemniczonych. Jeôli pasjonujâ Cië uûytki, oraz ich
pisanie, to skontaktuj sië z NAMI. Nasza niekonwencjonalna grupa
zrzesza wîaônie takich "ludzików".
Jeôli chcesz dostaê nowâ wersjë tego programu, bâdú wiele innych
wydawanych przez "BlaBla Company GmbH" :) skontaktuj sië z którymô z jej
czîonków, bâdú szukaj w bibliotece PolWare (byîa NNameLibrary). Nasze
programy dostëpne sâ teû w internecie. Jeôli chcesz jednak mieê je
pierwszy, to koniecznie dialuj do naszego grupowego BBS'u.
SIMON BBS - (+048) (0-74) 53-01-43 godziny 23.00-6.00
Moûesz tam równieû skontaktowaê sië ze mnâ. Aby to zrobiê, po prostu w
menu gîównym wciônij przycisk opisany jako "Pisz list do Co-Sysopa".
Sugestie, raporty o bîëdach, czy teû chociaû kartkë ze swojego
miasta kieruj na adres (no swap):
Kysy/AM & 2xBla as
Krzysztof Habowski
ul. Dâbrowskiego 103/9
58-105 Ôwidnica
lub dzwoï (taki FastHelpLine):
(+048) (0-74) 52-67-45
Pozdrowienia dla wszystkich uûytkowników Amigi, a w szczególnoôci dla:
Thufor/BlahBlah - Internet róîû
LeMUr/Fire & bla^2 - jak tam Twoje programowanie... pralki :^) Izviestii
Apacz/Fire & blabla - DO ROBOTYYYYY! jak to krzyczaî Gieremek
Tomash/ArtB & BBla - widzë, ûe wspóîpraca ukîâda nam sië skîadnie
The Founder/Scum - nowa grupka? ql! Skizo & his StuffPack equ coolizna
Misha/Erotic Design - nowa nazwa, stary skîad? A co z resztâ Ils
IrekP/Union - arty sië piszâ, baza sië opisuje, czekamy na ZZI
Mad Mack/Union - obiecaîem, ûe kiedyô wpadnë, no to wpadnë #$@% Co?
Hires/Union - kto ma Sparks'y do LightWave? Czekam na zgîoszenia
Zajc/Union - przesyîki kurierskie "Tonk-Po-Company" RULEZ!
Ender/Scalaris - coô nie widaê nowego Bigoza - jeszcze nie ugotowaîeô?
Kordi/DuckHead & 2B - tu takûe BlaBla? Jakoô nie miaîem okazji bliûej...
Timer/Scalaris - wiëcej efekciarskich kawaîków
Paszczak/Obssesion - mam do Ciebie pecha - miaîeô byê na gieîdzie!
Billy/ZOMO \ co jest z tymi ZOMO'wcami nagle obydwoje przestali
Barabasz/ZOMO / odpisywaê! Billy podobno zagarniëty przez SAS'a
Snake/Opium - o - jedyny grafik-rëczny jakiego znam (znaîem?)
Fryzjer/Picco - 4 Mb FASTu za 3 tausenty? kól
SpoonMan/Ils&Obs&...- w ilu aktualnie jesteô grupach? Czterech? Corrupt?
Jumper/Denethor - ûyjesz?
Lac/Legion - polemika "ûondzi"
Proctor/Damage - Damage? Moûe tam "rozkwitniesz"
MrPigmy/Illegals - dalej nielegalni? Moûe by tak wróciê na dobrâ drogë?
Spirol/Clan - Clan? Nie... A jednak...
Xenek/AM - dalej to samo? moûe coô nowego by sië zrobiîo?
Pionek/AM - widzë postëpy! Jest juû linia!!! ql :-)
Realman/Whippers \ co z nowym Testamentem?
DrRaf/Whippers / moûe by tak jakiô slide-show z ray'ami???
TheStone/Whippers - miaîeô naprawiê ten zasilacz
Cosa/Chaotic - Jest nowa A1200 z Escomu! Gratulujë zakupu!
Danthalian/Mystery - Czekamy na nowe i duuuuuuuuuûe modki!
Quovadis/Whippers - prawie zapomniaîem jak wyglâdasz
Serek/Inferno - miaîeô wpaôê kiedyô??? Co? Brukowietz dead???
Skee/??? - Ha! Ty wpadasz tylko jak coô potrzebujesz!
Watson/Ind - Hm... Chyba niec z tego nie bëdzie...
Codet/Ind - Oj bezrobocie! Taki piëkny byî dot-tunnel, a klops now
Simon/Ind - ciâgnij to dalej - i pamiëtaj 10 mega jest moje!
Maîy/LadyBirds - widziaîem Cië ostatnio na gieîdzie... urosîeô! :-)
Szkudnik/Ind - i co tu napisaê? Chyba Cië zwerbujë na Text-Writera
Arek.Edi.Valdi.Siwy.Cali.Prezes.Mytych and his group.Old members of NAV
PatrykCiosek.RobertKopiec.KamilIskra.KamilTobiasz.Guys form Marconi-Shop
AndrzejWójtowicz.BogdanZajâc.RobertBuczyïski.DariuszZbik.AndrzejLitwin
OtherMan
Spreadujâc ten i inne programy - przyczyniasz sië do tworzenia nowych.
Hasîo na dziô: "BlaBluj razem z nami!"
Kysy/AM & 2xBla