C64Power Forum
Ogólne => Forum Ogólnodyskusyjne => Wątek zaczęty przez: offca w 17 Kwietnia 2008, 20:09
-
Witam,
przepraszam za brak polskich czcionek, ale moj komp ich nie ma.
Przejde do problemu. Pisze akurat prosty programik i wykorzystuje w nim SAM`a. Jednak mam problem, mianowicie chce, zeby SAM w pelni ladowal sie do \'LOW MEMORY\', jendak za kazdym razem musze klikac L. Czy ktos ma pomysl jak to ominac?
Przy okazji jak juz tu pisze to takie pytanie - jak na C64 zrobic nawias klamrowy {taki jak ten}?
Pozdrawiam i witam wszystkich serdecznie jeszcze raz, bo to moj pierwszy post :)
-
Co to jest \'LOW MEMORY\' ?
-
Nawiasów klamrowych nie ma na C64...
Jak większość rzeczy na C64, trzeba je sobie samemu dorobić :P
-
\'LOW MEMORY\' - podczas ładowania SAMa jest do wyboru \'LOW OR HIGH MEMORY?\' i wedy trzeba kliknąć \'L\' albo \'H\'. Tu jest do wyboru - ładowanie do LOW MEMORY pożera 6KB, a do HIGH MEMORY 2KB, jednak przy okazji traci się trochę funkcji BASICa. Tak więc chcę, żeby mój program podczas ładowania kliknął \'L\' zamiast mnie.
No i tu jest zonk. W moim progu próbowałem w ten sposób:
10 ?\'CZEKAJ!\'
20 LOAD\'SAM/RECITER\',8,1
30 RUN
40 PRINT\'L\'
Dokładnie to jest tak, że SAM się ładuje i uruchamia, jednak wtedy czeka, aż kliknę \'L\', albo \'H\'. Linia 40 jest wykonywana dopiero, kiedy ja \'powiem\' SAMowi gdzie się ma załadować. Cóż, czy jest może jakiś expert, który mnie poratuje?:)
Co do nawiasów klamrowych to już odkryłem ich tajemnicę ;)
Pozdrawiam
-
Mój pomysł:
- załadować SAM`a do pamięci,
- uruchomić,
- zgrać spod monitora obszar pamięci w którym się zainstaluje,
- wczytać ten obszar spod programu w basicu
- zainicjować odpowiednim sys
-
Aha, zyga mnie ubiegł o pare minut :)
Tak to właściwie jedyny sposób żeby wgrać SAMa z twojego programu.
Odpaliłem go właśnie i prześledziłem z \'lekka\' inicjację.
Przy wgrywaniu sam-a skasuje Ci on twój właśny program - bo też się ładuje jako basic, a więc tak sie nie uda.
A więc najpierw wgraj sam-a i uruchom, wybierz \'L\' (chociaż zdaje się że \'H\' przepisuje część kodu od $c000-$cfff - więc powinien działać identycznie), i potem wejdź do monitora i zgraj obszar pamięci od $7d00-$bfff (przy opcji \'H\' $8d00-$cfff).
Potem zamieniasz linię 20 swojego programu na load \'nazwa_tego_co_zgrałeś\',8,1 i to chyba tyle.
pzdr
-
aha jeszcze uruchomienie sama - dopisujesz linię 25 sys 36484