Sprite nie chce mi się wyświetlić
- Operator Teleksu
- Posty: 59
- Rejestracja: 27 lis 2020, 21:31
Sprite nie chce mi się wyświetlić
Witam wszystkich,
Jestem początkujący w dziedzinie Commodore 64 i ostatnio tak dla zabawy pisałem sobie
program w Turbo Assemblerze (wszystko robię po staremu na emulatorze) który wyświetla
jeden sprite i pozwala poruszać nim przy pomocy joysticka. Nie chcę tu wklejać całego kodu,
bo pewnie to i tak nie istotne co dokładnie mój program robi ale postaram się po krótce opowiedzieć
w czym tkwi mój problem.
Otóż kod zaczyna się pod adresem $2000 a pod adresem $2100 mam zadeklarowane dane sprita -
jak skompiluje wszystko do pamięci to wszystko jest ok, wszystko działa jak najlepiej. Ale jak
spróbuje skompilować do pliku obiektowego, na dyskietce, i potem wczytuje mój program to nie
wyświetla się mój sprite. Poza tym mój program robi wszystko co powinien (np. zmienia kolor tła)
i nawet próbowałem, że tak powiem, debugować go przy pomocy BASIC'a - nadpisałem sobie ten
adres $2100 samymi 255 no i po uruchomieniu jest kwadrat na ekranie. Czyli tak jakby dane sprite'a
się nie chciały załadować do pamięci.
W każdym bądź razie kompletnie nie rozumiem co robię źle. Pisałem że jestem tutaj początkujący
(chociaż wgl trochę się znam na programowaniu) i jakby co to sorry za zawracanie dvpy takimi głupotami.
Poza tym szczerze dziękuję jeśli ktokolwiek na forum może mi wskazać co i dlaczego mi nie działa.
Jestem początkujący w dziedzinie Commodore 64 i ostatnio tak dla zabawy pisałem sobie
program w Turbo Assemblerze (wszystko robię po staremu na emulatorze) który wyświetla
jeden sprite i pozwala poruszać nim przy pomocy joysticka. Nie chcę tu wklejać całego kodu,
bo pewnie to i tak nie istotne co dokładnie mój program robi ale postaram się po krótce opowiedzieć
w czym tkwi mój problem.
Otóż kod zaczyna się pod adresem $2000 a pod adresem $2100 mam zadeklarowane dane sprita -
jak skompiluje wszystko do pamięci to wszystko jest ok, wszystko działa jak najlepiej. Ale jak
spróbuje skompilować do pliku obiektowego, na dyskietce, i potem wczytuje mój program to nie
wyświetla się mój sprite. Poza tym mój program robi wszystko co powinien (np. zmienia kolor tła)
i nawet próbowałem, że tak powiem, debugować go przy pomocy BASIC'a - nadpisałem sobie ten
adres $2100 samymi 255 no i po uruchomieniu jest kwadrat na ekranie. Czyli tak jakby dane sprite'a
się nie chciały załadować do pamięci.
W każdym bądź razie kompletnie nie rozumiem co robię źle. Pisałem że jestem tutaj początkujący
(chociaż wgl trochę się znam na programowaniu) i jakby co to sorry za zawracanie dvpy takimi głupotami.
Poza tym szczerze dziękuję jeśli ktokolwiek na forum może mi wskazać co i dlaczego mi nie działa.
Have a nice day!
Re: Sprite nie chce mi się wyświetlić
Load"nazwapliku",8,1
sys 2*4096
albo
sys 8192
sys 2*4096
albo
sys 8192
2021.06.16 "U mnie w okolicy też nikt nie umarł - ale nie będę na tej podstawie twierdził, że Covid nie istnieje ani że nie jest żadnym zagrożeniem"
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
- Operator Teleksu
- Posty: 59
- Rejestracja: 27 lis 2020, 21:31
Re: Sprite nie chce mi się wyświetlić
No tak robiłem żeby załadować i uruchomić program. Niestety nie działało jak powinno, tak
jak opisałem problem. W razie czego to dopytajcie, jakbym coś nie zrozumiale napisał.
jak opisałem problem. W razie czego to dopytajcie, jakbym coś nie zrozumiale napisał.
Have a nice day!
Re: Sprite nie chce mi się wyświetlić
Pszecinek 8 pszecinek 1
Najważniejsze jest to 1
Po załadowaniu wpisz LIST
Czy pojawiają się krzaki?
- co rozumiesz jako plik obiektowy - jak go uzyskujesz?
- Używasz cartridga jakiegoś? Jakiego?
Jak nie to wyślij źródło na PM zobaczę w emulatorze (o ile masz możliwość i potrafisz zgrać plik na kartę sd )
A najlepiej plik jak go nazywasz obiektowy wyślij na pm (to będzie plik prg - pewnie trzeba go spakować zipem żeby go wysłać)
edit
aaa na emu działasz to nie ma problemu
Najważniejsze jest to 1
Po załadowaniu wpisz LIST
Czy pojawiają się krzaki?
- co rozumiesz jako plik obiektowy - jak go uzyskujesz?
- Używasz cartridga jakiegoś? Jakiego?
Jak nie to wyślij źródło na PM zobaczę w emulatorze (o ile masz możliwość i potrafisz zgrać plik na kartę sd )
A najlepiej plik jak go nazywasz obiektowy wyślij na pm (to będzie plik prg - pewnie trzeba go spakować zipem żeby go wysłać)
edit
aaa na emu działasz to nie ma problemu
2021.06.16 "U mnie w okolicy też nikt nie umarł - ale nie będę na tej podstawie twierdził, że Covid nie istnieje ani że nie jest żadnym zagrożeniem"
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
- Operator Teleksu
- Posty: 59
- Rejestracja: 27 lis 2020, 21:31
Re: Sprite nie chce mi się wyświetlić
Wysłałem ci obrazy dyskietek z czym potrzeba. Wielkie dzięki że się zainteresowałeś i nie obraź się jakby się okazało
że u ciebie jednak działa - już parę razy tak miałem że coś nie działa tylko na moim kompie.
plik objektowy uzyskuje wciskając {5 (strzałka w tył i 5) w turbo assemblerze i wpisując nazwę pliku.
po wpisaniu LIST nie pojawiają się krzaki - nic się nie pojawia.
że u ciebie jednak działa - już parę razy tak miałem że coś nie działa tylko na moim kompie.
plik objektowy uzyskuje wciskając {5 (strzałka w tył i 5) w turbo assemblerze i wpisując nazwę pliku.
po wpisaniu LIST nie pojawiają się krzaki - nic się nie pojawia.
Have a nice day!
Re: Sprite nie chce mi się wyświetlić
zdaje sie że tasm nie ma tej opcji przy kompilacji do pamięci rozłoży ci dane prawidłowo a przy kompilacji na dysk będzie to w ciągu
Nie pamiętam czy jest i jak brzmiała składnia dyrektywy w tasmie .align
Masz coś takiego
Skompiluj osobno 2 pliki na dysk
pierwszy z kodem
drugi z danymi sprajta
wgraj 2 osobno
będzie działać
Nie pamiętam czy jest i jak brzmiała składnia dyrektywy w tasmie .align
Masz coś takiego
Kod: Zaznacz cały
*=$2000
jsr cośtam
sta coś
lda gdzieś
...
*=$2100
.byte $00,$01...
pierwszy z kodem
drugi z danymi sprajta
wgraj 2 osobno
będzie działać
Ostatnio zmieniony 28 lis 2020, 00:40 przez wegi, łącznie zmieniany 1 raz.
2021.06.16 "U mnie w okolicy też nikt nie umarł - ale nie będę na tej podstawie twierdził, że Covid nie istnieje ani że nie jest żadnym zagrożeniem"
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
- Operator Teleksu
- Posty: 59
- Rejestracja: 27 lis 2020, 21:31
Re: Sprite nie chce mi się wyświetlić
Albo zrób to tak:
i wtedy nie musisz kompilować 2 plików
Oczywiście niebawem musisz "oddalić" bank sprajta, bo jak rozbudujesz swój kod to go nadpiszesz danymi sprajta
Mam nadzieję że kumasz o co mi chodzi
Kod: Zaznacz cały
*=$2000
ldx #$3f
lda sprite,x
sta $2100,x //;sta spritebank,x
dex
bpl *-7
...
...
sprite
.byte $00,...
Oczywiście niebawem musisz "oddalić" bank sprajta, bo jak rozbudujesz swój kod to go nadpiszesz danymi sprajta
Mam nadzieję że kumasz o co mi chodzi
2021.06.16 "U mnie w okolicy też nikt nie umarł - ale nie będę na tej podstawie twierdził, że Covid nie istnieje ani że nie jest żadnym zagrożeniem"
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
- Operator Teleksu
- Posty: 59
- Rejestracja: 27 lis 2020, 21:31
Re: Sprite nie chce mi się wyświetlić
kumam kumam i wypróbuję może kiedy tym drugim sposobem, chociaż zastanawiam się czy
nie poszukać sobie lepiej innego assemblera. Muszę w każdym razie popytać kiedyś w innym
wątku czego tu ludzie najczęściej używają.
nie poszukać sobie lepiej innego assemblera. Muszę w każdym razie popytać kiedyś w innym
wątku czego tu ludzie najczęściej używają.
Have a nice day!
- Operator Teleksu
- Posty: 59
- Rejestracja: 27 lis 2020, 21:31
Re: Sprite nie chce mi się wyświetlić
Chciałem jeszcze dopisać, w razie by ktoś miał podobny problem i trafił tu przez google.
Próbowałem innych assemblerów i problem jest taki sam. Natomiast te drugie rozwiązanie
od wegi zdaje się że wgl jak najbardziej tak się właśnie robi - znalazłem na GitHubie taki
projekt gry na C64:
https://github.com/darrenfoulds/1nvader-c64
i identyczną sztuczkę tam autor stosuję.
Próbowałem innych assemblerów i problem jest taki sam. Natomiast te drugie rozwiązanie
od wegi zdaje się że wgl jak najbardziej tak się właśnie robi - znalazłem na GitHubie taki
projekt gry na C64:
https://github.com/darrenfoulds/1nvader-c64
i identyczną sztuczkę tam autor stosuję.
Have a nice day!
Re: Sprite nie chce mi się wyświetlić
Skoro i tak się bawisz w emulatorze to takich cyrków nie masz tutaj - sam używałem.
https://www.georg-rottensteiner.de/en/index.html
https://www.georg-rottensteiner.de/en/index.html
2021.06.16 "U mnie w okolicy też nikt nie umarł - ale nie będę na tej podstawie twierdził, że Covid nie istnieje ani że nie jest żadnym zagrożeniem"
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
- Operator Teleksu
- Posty: 59
- Rejestracja: 27 lis 2020, 21:31
Re: Sprite nie chce mi się wyświetlić
No i tam skompilowany plik będzie miał właściwą długość, a prg ładujesz do emulatora jednym kliknięciem z c64studio z możliwością pozakładania breakpointów, śledzenia adresów etykiet w trakcie edycji itd.
2021.06.16 "U mnie w okolicy też nikt nie umarł - ale nie będę na tej podstawie twierdził, że Covid nie istnieje ani że nie jest żadnym zagrożeniem"
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
2023.09.09 U mnie też nikt nie umarł włącznie z ciotką chorą na białaczkę. Dwukrotnie zaszczepiona dostała covida w szpitalu - żyje. Ta plandemia to już jak Bóg - wszędzie jest i nikt go nie widział.
Re: Sprite nie chce mi się wyświetlić
Proponuje jak najszybciej zapoznać się z podstawami monitora albo rodzimym programem C64 Debugger.
Korzystając z powyższych narzędzi będziesz mógł zobaczyć zawartość pamięci co pozwoli szybko dotrzeć do źródła problemu.
Korzystając z powyższych narzędzi będziesz mógł zobaczyć zawartość pamięci co pozwoli szybko dotrzeć do źródła problemu.
- Operator Teleksu
- Posty: 59
- Rejestracja: 27 lis 2020, 21:31
Re: Sprite nie chce mi się wyświetlić
Nie za specjalnie lubię używać wszelkiego rodzaju debuggerów ale owszem przed chwilą sobie ściągnąłem,
programik tego rodzaju, bodajże Elite Mon i znalazłem gdzieś w Internecie instrukcje z jego poleceniami -
w sumie prosty programik tylko jakoś miałem wątpliwości jaką literkę wpisać żeby to czy tamto pokazało.
WIEM ŻE emulator VICE ma wbudowany monitor ale taki cudak ze mnie, że chce po prostu poczuć nostalgiczny
klimat 8-bitowego komputera i wszystko muszę robić w sposób max zbliżony do tego co na prawdziwym C64.
programik tego rodzaju, bodajże Elite Mon i znalazłem gdzieś w Internecie instrukcje z jego poleceniami -
w sumie prosty programik tylko jakoś miałem wątpliwości jaką literkę wpisać żeby to czy tamto pokazało.
WIEM ŻE emulator VICE ma wbudowany monitor ale taki cudak ze mnie, że chce po prostu poczuć nostalgiczny
klimat 8-bitowego komputera i wszystko muszę robić w sposób max zbliżony do tego co na prawdziwym C64.
Have a nice day!
Re: Sprite nie chce mi się wyświetlić
To już co kto lubi, ja kiedy kodowałem używałem monitora VICE, próg wejścia niski, poleceń mnóstwo. A potem wyszedł C64 Debugger i nagle zobaczyłem, że monitor VICE to tylko mały karzełek.
Ale co kto lubi, chcesz używać natywnych narzędzi, działaj, jeśli tylko sprawia Ci to frajdę, to najważniejsza rzecz.
Ale co kto lubi, chcesz używać natywnych narzędzi, działaj, jeśli tylko sprawia Ci to frajdę, to najważniejsza rzecz.