1

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 Ostatnio edytowany przez Krótki (2018-01-11 10:39:42)

!!!

A8CAS - narzędzie do 100% archiwizacji kaset Atari

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

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

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

4

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

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

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

KMK
? HEX$(6670358)

7

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

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 Ostatnio edytowany przez drac030 (2018-01-12 01:30:51)

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ę.

KMK
? HEX$(6670358)

10

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

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

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

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 :/

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

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

:/

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

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

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

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?

A8CAS - narzędzie do 100% archiwizacji kaset Atari

16

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 Ostatnio edytowany przez mono (2018-01-12 21:31:06)

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 :D

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

18

uzupelnienie:

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

takie minimum

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

19

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.

MM [dely]: proszę odnosić się wyłącznie do tematu wątku, a nie umiejętności pytającego.

KMK
? HEX$(6670358)

20

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.

21

drac030 napisał/a:

Czemu niby mam "się uspokajać"? Topik jest na poziomie przedszkola (...)

A co to jest, forum tylko dla elyty, na którym można poruszać wyłącznie tematy na poziomie elytarnym? W odróźnieniu od Ciebie sam też jestem przedszkolakiem, więc staram się poradzić koledze tak jak umiem. Sam też się czegoś nowego od xxla dowiedziałem. Chciałbym więc mieć możliwość dalszego prowadzenia tej korzystnej wymiany informacji, bez jakiegoś buca wpiep* się z "żenua, dely weź to skasuj". Więc może znajdź sobie jakieś zajęcie na Twoim poziomie?

MM [dely]: proszę odnosić się wyłącznie do tematu wątku i nie kontynuować OT, ponieważ zaraz skończy się bijatyką.

A8CAS - narzędzie do 100% archiwizacji kaset Atari

22

dely napisał/a:

proszę odnosić się wyłącznie do tematu wątku, a nie umiejętności pytającego

Odnoszę się wyłącznie do tematu wątku założonego i omówionego (w poście nr 1) przez OP, który zawsze wie wszystko najlepiej. Podtrzymuję, że temat jest żenujący, a żenada wynika z tego, że OP nie odrobił podstawowych lekcji z pierwszej klasy atarowskiej szkoły podstawowej.

xxl napisał/a:

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 ;-)

Bardzo ciekawa i odkrywcza, zważywszy że gr.0 to tryb mający jedno wielkie okno tekstowe. Myślenie ma kolosalną przyszłość.

Krótki napisał/a:

A co to jest, forum tylko dla elyty, na którym można poruszać wyłącznie tematy na poziomie elytarnym?

Faktycznie, rzecz jest bardzo elitarna (albo "elytarna", jeśli wolisz). Zwłaszcza jeśli "elyta" zaczyna dyskusję od odkrycia "błędu w OS, który uniemożliwia". Po prostu jeden guru teraz musi pouczyć drugiego guru o tym, co jest napisane w każdym podręczniku do BASIC-a, a co na dodatek (wbrew tym podręcznikom, bo wystarczy pomyśleć) da się rozwiązać bez żadnych trików.

Skoro "żenua" nie działa, może napiszę "gratuluję".

KMK
? HEX$(6670358)

23

Nadal nie przekonales mnie do gr.0 bez okna, celowosc Twojego udzial w dyskusji wciaz wynosi zero.

jak bedze cos lepszego od tego z posta 18 to jestem otwarty na propozycje :-)

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

24

zdjecia jak to wyglada na zywym sprzecie:

prawidlowo (standardowy edytor) zdjecie 1

i nieprawidlowo (sterownik 80 kolumnowy) zdjecie 2 - jak widac sterownik 80 kolumnowy sparty zupelnie sobie nie radzi.

#peszek

moze cos zmienilaby mozliwosc otwarcia dwoch kanalow dla edytora ...

Post's attachments

1.JPG 120.34 kb, nikt jeszcze nie pobierał tego pliku. 

2.JPG 96.22 kb, nikt jeszcze nie pobierał tego pliku. 

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

25

Musisz, niestety, uwzględnić, że twoja metoda najwyraźniej nie jest kompatybilna z istniejącymi sterownikami "E:" dla Atari. Musisz ją poprawić.

PS. Ponieważ gdzieś zginął mój post zamieszczony po poście nr 23, powtórzę zatem, że sobie pochlebiasz sądząc, że przekonywanie ciebie było moim celem. A "piszący mnie nie przekonali" to hit sam w sobie.

KMK
? HEX$(6670358)