C64Power Forum

Software => Programowanie => Wątek zaczęty przez: Navigator_ w 06 Listopada 2003, 14:07

Tytuł: Magia $ffd2
Wiadomość wysłana przez: Navigator_ w 06 Listopada 2003, 14:07
Witam.
Problem mam nietypowy. Otoz ostatnio przegladajac kurs assemblera w C&:A znalazlem taki listing
 
*=$2710
lda #$01
jsr $ffd2
rts
 
w teori ten twor mial wyrzucac na ekran znak z akumulatora, ale tego nie robi. Czy ktos wie jak zmusic to bydle do dzialania. Nawet w mapie pamieci jest jak byk wypisane ze $ffd2 zawiera procedure CHROUT ktora niechybnie wyrzuca znaki na ekran. Moze to kwestia Turbo Assemblera? Moze trzeba uzyc jakiejs innej wersji? Poratujcie ludziska...
Tytuł: Magia $ffd2
Wiadomość wysłana przez: Jemasoft_ w 06 Listopada 2003, 21:46
Program dziala prawidlowo. To co zaladowales do akumulatora jest bez sensu i dlatego nie widzisz zadnego efektu (kod CHR$ o numerze 01 jest pusty).
Ten sam efekt uzyskasz w Basic\'u piszac:
PRINT CHR$(1)
.
Zobacz sobie w obstrukcji od C64 taka tabelke z kodami co sie zowie ASCII i CHR$ a stanie sie jasnosc.  
.
Ozdrawiam (innych a siebie lecze).
Tytuł: Magia $ffd2
Wiadomość wysłana przez: Navigator_ w 07 Listopada 2003, 14:07
no fakt moje niedopatrzenie a tak przy okazji da sie jakos ustawic w ktorym miejscu znak ma sie pojawic??? np. chcialbym miec literke ":a": ($41) w lewym gornym rogu. da sie to jakos uzyskac?? oczywiscie pomijamy w tym momencie kwestie typu sta $0400.
pozdrawiam
Tytuł: Magia $ffd2
Wiadomość wysłana przez: Logan_ w 07 Listopada 2003, 16:19
O ile pamietam to mozemy ustawic pozycje kursora, ale nie wiem czy bedzie dzialalo to w tym przypadku...
 
LDX pozyjcjaY
LDY pozycjaX
CLC
JSR $FFF0
 
a jak nie zadziala no to zrob np:
 
lda #$8d
jsr $ffd2
...
i linijke nizej ci zjedzie
 
tak samo w inne strony...
Tytuł: Magia $ffd2
Wiadomość wysłana przez: Jemasoft_ w 07 Listopada 2003, 23:49
Oczywiscie, ze sie da.
.
Swiec w obstrukcyjna tabelke i zobacz jakie w ogole kody masz do dyspozycji. Wsrod nich sa takie jak: czyszczenie ekranu, ustawienie kursora w gornym lewym rogu, przemieszczanie kursora w dowolna strone po ekranie, zmiana barwy kursora i jeszcze mnostwo innych dupereli.
.
Przykladowo:
lda #$93    - to jest kod czyszczenia ekranu i ustawienia kursory w gornym lewym rogu
jsr $ffd2
lda #$41    - to jest kod litery A
jsr $ffd2
rts
.
To powinno wyczscic ekran i wywalic w gornym lewym rogu litere A.
.
Ozdrawiam (innych a siebie lecze).
Tytuł: Magia $ffd2
Wiadomość wysłana przez: charnooh_ w 08 Listopada 2003, 16:54
przed czyszczeniem ekranu, zmien kolor znakow -  
lda #9b
jsr ffd2
(to zmieni kolor na grey 3), wtedy kazdy znka wyswietlany na ekranie bedzie mial taki kolor
Aby wyrzucic na ekran znak to laduj go prosto w pamiec ekranu *standardowo 0400-07e8