1

Temat: GR.0 z oknem tekstowym

czy jest jakis hak na blad w OS ktory uniemozliwia otwarcie trybu 0 z oknem tekstowym?

czy jedyny sposob to gr.12 z oknem i podmiana linii w programie antica?

http://atari.pl/hsc/ad.php?i=1.

2

Odp: GR.0 z oknem tekstowym

!!!

Ostatnio edytowany przez Krótki (2018-01-11 10:39:42)

A8CAS - narzędzie do 100% archiwizacji kaset Atari

3

Odp: GR.0 z oknem tekstowym

dzieki, znalazlem jeszcze cos takiego:

then POKE 703 with four, in program mode. (In command mode, you will be returned to GR.0.) You won't be able to read the text in the window, but you will be able to write to it. However, to get a true text window, you'll need to use a Display List Interrupt

obydwa sposoby to ingerencja w 703

Ostatnio edytowany przez xxl (2018-01-11 12:42:02)

http://atari.pl/hsc/ad.php?i=1.

4

Odp: GR.0 z oknem tekstowym

then POKE 703 with four, in program mode. (In command mode, you will be returned to GR.0.) You won't be able to read the text in the window, but you will be able to write to it.

Obrazek poniżej, BASIC jest w command mode. Teraz LOCATE 2,21,A. Nie dość, że zadziała (czyli funkcja INPUT OS-u odczytała linijkę tekstu) to jeszcze w A będziemy mieli kod znaku znajdującego się na pozycji 2,21 (82, kod ASCII "R" z READY).

I ten temat jest w dziale "Programowanie", dely skasuj to.

Post's attachments

januszjanusza.png 4.04 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
KMK
? HEX$(6670358)

5

Odp: GR.0 z oknem tekstowym

faktycznym rozwiazaniem problemu bylyby otwarte dwa kanaly, dla okna i dla ekranu osobno :-) a nie jeden i manipulowanie wspolrzednymi...

takie rozwiazanie mnie interesuje... jedyne to zaproponowane w pierwszym poscie czy moze byc cos lepszego?

http://atari.pl/hsc/ad.php?i=1.

6

Odp: GR.0 z oknem tekstowym

Dely, rozmyśliłem się, niech ten topik jednak zostanie, na wieczną pamiątkę xxla programowania.

KMK
? HEX$(6670358)

7

Odp: GR.0 z oknem tekstowym

Proszę nie przenosić personalnych animozji do topików.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

8

Odp: GR.0 z oknem tekstowym

gdyby jednak jakis programista chcial sie wypowiedziec to mysle, ze chyba znalazlem kroszy sposob niz ten z posta nr 1.:


os_graphics                equ $ef9c

GRAPHICS_0_WINDOWED
                           ldy #$0b
@                          lda tab,y
                           sta $20,y
                           dey
                           bpl @-

                           lda #0
                           jmp os_graphics

tab .HE FF 00 03 01 69 BA DB E4 00 00 3C 3C ; 12+32+16



program testowy:


os_graphics                equ $ef9c
os_plot                    equ $f1a4

                           org $c00

                           jsr GRAPHICS_0_WINDOWED

                           lda #'A'
                           jsr os_plot

@                          jsr _print
                           .byte c'Okno tekstowe w trybie graficznym 0, ',$00
                           jmp @-

GRAPHICS_0_WINDOWED
                           ldy #$0b
@                          lda tab,y
                           sta $20,y
                           dey
                           bpl @-

                           lda #0
                           jmp os_graphics

tab .HE FF 00 03 01 69 BA DB E4 00 00 3C 3C ; 12+32+16


_print                     tsx
                           lda $101,x
                           sta $80
                           lda $102,x
                           sta $81
_printnext                 inc $80
                           bne @+
                           inc $81
@                          ldx #$00
                           lda ($80,x)
                           beq _printquit
                           jsr _putchar
                           jmp _printnext
_printquit                 tsx
                           lda $80
                           sta $101,x
                           lda $81
                           sta $102,x
                           rts
_putchar                   tay
                           lda $347
                           pha
                           lda $346
                           pha
                           tya
                           rts

                           run $c00

Post's attachments

gr0windowed.obx 144 b, liczba pobrań: 1 (od 2018-01-11) 

Tylko zalogowani mogą pobierać załączniki.
http://atari.pl/hsc/ad.php?i=1.

9

Odp: GR.0 z oknem tekstowym

Powiem tyle: LOL. "Sposób" faktycznie "krótszy" niż lda #4 / sta 703. Na dodatek z nielegalnymi skokami do OS-u, którym przedmówca nie umie się nawet posłużyć. Dely, ponawiam prośbę, skasuj tę żenadę.

Ostatnio edytowany przez drac030 (2018-01-12 01:30:51)

KMK
? HEX$(6670358)

10

Odp: GR.0 z oknem tekstowym

niestety ingerencja w komorke 703 nie zalatwia sprawy co bylo juz wyjasniane. chociaby mamy jeden zestaw wspolrzednych dla gornej i dolnej czesci, jesli zaczniemy pisac do czesci gornej to zajdzie interakcja z czescia dolna.

rozwiazaniem problemu jest otwarcie osobnych kanalow dla gornej i dolnej czesci. aby obydwa okna byly niezalezne. obydwa okna maja byc w gr.0. :-)

rozumiem umiesz tak posluzyc sie OS ze bedziesz umial to wykonac :-) no wlasnie ;-)

drac030 napisał/a:

dely skasuj to.

drac030 napisał/a:

Dely, rozmyśliłem się, niech ten topik jednak zostanie

drac030 napisał/a:

Dely, ponawiam prośbę, skasuj tę żenadę.

PMS ? wiem, bo mam nastoletnia corke ktora tez czasem co chwile zmiania zdanie ;-)

http://atari.pl/hsc/ad.php?i=1.

11

Odp: GR.0 z oknem tekstowym

xxl napisał/a:

niestety ingerencja w komorke 703 nie zalatwia sprawy co bylo juz wyjasniane. chociaby mamy jeden zestaw wspolrzednych dla gornej i dolnej czesci, jesli zaczniemy pisac do czesci gornej to zajdzie interakcja z czescia dolna.

rozwiazaniem problemu jest otwarcie osobnych kanalow dla gornej i dolnej czesci. aby obydwa okna byly niezalezne. obydwa okna maja byc w gr.0. :-)

rozumiem umiesz tak posluzyc sie OS ze bedziesz umial to wykonac :-) no wlasnie ;-)

Nocoty. GRAPHICS 0:POKE 703,4 daje ci 2 kanały: #6 dla ekranu, #0 dla okna. Współrzędne dla ekranu są w ROWCRS/COLCRS, a dla okna w TXTROW/TXTCOL. Dokładnie jak w każdym innym trybie z oknem tekstowym.

Wszelako: ten "tryb" nie jest tożsamy z trybem 12 ze zmienioną DL. Po pierwsze, trzeba jeszcze wyłączyć kursor żeby podczas pisania na #6 nie zostawały śmieci. Po drugie, przy pisaniu na #6 nie wolno doprowadzić do przeskoku kursora do następnego wiersza ekranowego, bo powoduje to uruchomienie procedury przesuwającej resztę zawartości ekranu w dół, co skutkuje zniszczeniem DL (w trybach innych niż 0 przesuw w dół nie zachodzi, i wszystko działa prawidłowo).

drac030 napisał/a:

Dely, ponawiam prośbę, skasuj tę żenadę.

Weź się wreszcie uspokój.

A8CAS - narzędzie do 100% archiwizacji kaset Atari

12

Odp: GR.0 z oknem tekstowym

jest to "jakies" rozwiazanie ale najlepiej jak zobaczysz gdzie sa slabe punkty:

10 gr.0:poke 703,4
20 ?"test"
30 ?#6;"a";:g.30

to wywola zwieche

zamien linie 30
30 ?#6;"a":g.30

to nadpisze zawartosc drugiego okna... ale przyznaje racje ze w pewnych sytuacjach mozna by sie takim sposobem ratowac.

http://atari.pl/hsc/ad.php?i=1.

13

Odp: GR.0 z oknem tekstowym

cd...

15 poke 87,13

pozwoli uchronic sie przed tymi bledami ale gorne okno bedzie mialo 12 wierszy a dolne 4 wiersze, miedzy nimi 8 wierszy nieuzytku... tak zle i tak niedobrze hmm

http://atari.pl/hsc/ad.php?i=1.

14

Odp: GR.0 z oknem tekstowym

hmm

albo:

GRAPHICS_0_WINDOWED
                                      lda #$1c ; czysc ekran + okno
                                      sta $2a ; ICAX1Z
                                      lda #0
                                      jmp $ef9c ; os_graphics


albo otwieramy tryb 12+16+32 nastepnie:

lda $230
sta $80
lda $231
sta $81
ldy #3
lda #$42
sta ($80),y
ldy #6
lda #2
@ sta ($80),y
iny
cpy #25
bne @-
rts

Ostatnio edytowany przez xxl (2018-01-12 20:02:16)

http://atari.pl/hsc/ad.php?i=1.

15

Odp: GR.0 z oknem tekstowym

xxl napisał/a:

10 gr.0:poke 703,4
20 ?"test"
30 ?#6;"a";:g.30

to wywola zwieche

Zgadza się, z powodu ww. skaszanienia DL przez procedurę rozsuwającą wiersze. Ale na to jest remedium jak sam już wiesz, "15 poke 87,12"


xxl napisał/a:

zamien linie 30
30 ?#6;"a":g.30

to nadpisze zawartosc drugiego okna...

Zwróć uwagę, że "zwykły" tryb 12 z oknem tekstowym też pozwala pisać na #6 do wierszy 20..23 i wysypuje się dopiero po dojściu do wiersza 24. Różnica jest taka, że zapisany tekst trafia do obszaru pamięci niewyświetlanego na ekranie, a nie do pola tekstowego. Skutek w każdym razie jest taki, że szanujący się program i tak sam musi zadbać, aby nie pisać na #6 poza wiersz 19. Więc skoro program musi o to dbać, to do wymienionego przez Ciebie nadpisania i tak nie będzie dochodzić.

xxl napisał/a:

albo otwieramy tryb 12+16+32 nastepnie:

Chyba bez +16, skoro z oknem tekstowym?

Ostatnio edytowany przez Krótki (2018-01-12 20:51:46)

A8CAS - narzędzie do 100% archiwizacji kaset Atari

16

Odp: GR.0 z oknem tekstowym

tak, ale jak otworzysz "zwykly" tryb z okienkiem i zapiszesz cos co zaslania okno tekstowe to zawsze mozesz "zamknac" okno tekstowe (otworzyc jeszcze raz ten tryb bez okna i bez kasowania pamieci ekranu) i danych tam zapisanych nie tracisz - odslaniasz.

tak, z poke 87 masz racje. teraz widze juz tylko jedna wade tego rozwiazania... i byc moze nie jest ona taka duza...

http://atari.pl/hsc/ad.php?i=1.

17

Odp: GR.0 z oknem tekstowym

A nie prościej byłoby otworzyć GR.12 po czym zmienić 4 na 2 w DL?

Edit: Przepraszam - w poście 1 xxl to sugeruje big_smile

Ostatnio edytowany przez mono (2018-01-12 21:31:06)

hex, code and ror'n'rol!
"mężczyzna wydoił wielbłąda żoną"
"wcześniej miał na imię Heidi i był niemiecką kulomiotką"

18

Odp: GR.0 z oknem tekstowym

uzupelnienie:

GR.0
POK.703,4
POK.85,0
POK.87,12

takie minimum

http://atari.pl/hsc/ad.php?i=1.

19

Odp: GR.0 z oknem tekstowym

Krótki napisał/a:

Weź się wreszcie uspokój.

Czemu niby mam "się uspokajać"? Topik jest na poziomie przedszkola, co widać po całości: OP nawet nie wie, że sposób z 703 (opisany chyba wszędzie, nawet u Miguta) zasadza się na tym, że mamy otwarte dwa kanały, że jak najbardziej da się to zrobić, że zestawy współrzędnych są oddzielne. I proponuje armatę na wróble.

Już nie wspomnę o tym, że jeszcze prostszym rozwiązaniem jest po prostu mieć dwa zestawy współrzędnych w programie. Można wtedy mieć 1 kanał, a położenie i rozmiary okna dowolne.

Żenua.

KMK
? HEX$(6670358)

20

Odp: GR.0 z oknem tekstowym

wynika z tego, ze proponowane przez Ciebie rozwiazanie gr.0 z oknem to gr.0 bez okna i oprogramowanie wyswietlania we wlasnym zakresie :-)

ciekawa koncepcja ;-)

Sposob z 703 opisany nie zalatwia sprawy (np. zwiechy), co wyjasnilem i dalem przyklad w poscie 12. dopiero w poscie 18 jest receptura - ktora eliminuje zwiechy ale pozostaje PODSTAWOWY blad - interakcji miedzy czescia gorna okna a dolna.

jesli uwazasz ze to zostalo opisane "wszedzie" nawet u Miguta to tylko obrazuje ze orientujesz sie w temacie tylko pobieznie... u Miguta jest jedno zdanie "mozna eksperymentowac z poke 703,4" wiec pomoc praktycznie zadna. gdyby o taka "pomoc" chodzilo umiescilbym temat w balaganie i wtedy Twoje "rady" bylyby na miejscu :-)

http://atari.pl/hsc/ad.php?i=1.