Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: Magia $ffd2  (Przeczytany 342 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Navigator_

  • Gość
Magia $ffd2
« dnia: 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...



Jemasoft_

  • Gość
Magia $ffd2
« Odpowiedź #1 dnia: 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).

Navigator_

  • Gość
Magia $ffd2
« Odpowiedź #2 dnia: 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

Logan_

  • Gość
Magia $ffd2
« Odpowiedź #3 dnia: 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...

Jemasoft_

  • Gość
Magia $ffd2
« Odpowiedź #4 dnia: 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).

charnooh_

  • Gość
Magia $ffd2
« Odpowiedź #5 dnia: 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