1

konkretnie: Atari XL OS Revision 2. Może ktoś ma ciekawe przykłady innych procedur?

Graphics
========

przykładowo: GRAPHICS 8


os_graphics equ $ef9c

lda #8
jsr os_graphics



PLOT, PRINT
===========

przykladowo: COLOR 1: PLOT 5,10

rowcrs equ $54 ; y
colcrs equ $55 ; x - 2 bajty
atachr equ $2fb; kolor

os_plot equ $f1d8

lda #1
sta atachr
lda #5
sta colcrs
lda #10
sta rowcrs
jsr os_plot


przykladowo: PRINT "A";

os_print equ $f1a4

lda #'A'
jsr os_print


przykladowo: ? CHR$(125) - kasowanie ekranu

lda #125
jsr os_print


DRAWTO
======

przykladowo: COLOR 1: DRAWTO 10,20

os_drawto equ $f9c2

lda #1
sta atachr
lda #10
sta colcrs
lda #20
sta rowcrs
jsr os_drawto

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

2 Ostatnio edytowany przez flashjazzcat (2018-04-30 13:21:35)

Very bad practice and makes your application unusable with drivers (for example, drivers which intercept the screen handler and draw lines twice as quickly as the OS line drawing code). The entry points are unpublished because they are not entry points.

3

I know it is unusable with drivers which intercept the screen handler and draw lines twice as quickly as the OS line drawing code...

---

INPUT A$
======

EGETCH equ $F24A


jsr EGETCH


znak znajduje sie w "akumulatorze" i w ATACHR

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

4

Instead of assuming the content of the OS ROM, it would be safer to simply look up the address via HATABS, whose "E:" entry points to $E400. In turn, the GET vector in the table at $E400 is $F249 (EGETCH-1). Same result.

5

FJC - spokojnie, kolega uczy się dopiero programować ;)

Kontakt: pin@usdk.pl

6

@flashjazzcat: and if you install the E driver: which will be faster and better, both methods will be useless, but the direct jump is faster and shorter ;-)



LOCATE 10,20,A
==========

GETPLT equ $F18F

lda #10
sta colcrs
lda #20
sta rowcrs
jsr GETPLT

wynik w Akumulatorze

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

7

xxl napisał/a:

but the direct jump is faster and shorter

But jump into the jump table ALWAYS works, direct jump does not.

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

xxl napisał/a:

konkretnie: Atari XL OS Revision 2.

nie dziala?

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

9

Tutaj jest zestawienie różnic między rewizjami Atari OS i XL OS. Jest ich tyle, że pomijanie tablicy skoków nie jest najlepszym pomysłem...

Powszechnie wiadomo, że kamień potrafi myśleć. Na tym fakcie opiera się cała elektronika.

Terry Pratchett - Równoumagicznienie

10

A ja lubię tą młodzieńcza pasję odkrywania u XXL'a. Niech odkryje na nowo koło i Amerykę. Może zrobi to w jakiś nowatorski sposób? Kto wie. Na refleksje będzie miał czas na starość.

11

Nie usuwaj Dely moich postów, bo nie było w nich nic obraźliwego.

Kontakt: pin@usdk.pl

12

Przypominam, że to jest dział "Programowanie", a nie swobodna dyskusja na dowolne tematy w "Bałaganie". Wycieczki będą usuwane, można założyć inny wątek.

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.

13

    ldx    #<hello
    ldy    #>hello
    jsr    $c642
    ...

hello    dta    c'Hello, world!',$9b
https://www.youtube.com/watch?v=jofNR_WkoCE

14

Dely - to jeśli chcesz być konsekwentny to wywal też post BartoszaP.

Kontakt: pin@usdk.pl

15

xxl napisał/a:

@flashjazzcat: and if you install the E driver: which will be faster and better, both methods will be useless, but the direct jump is faster and shorter ;-)

Why would the correct method fail when the HATABS entry points to a custom handler jump table in RAM? One of the nice things about the Atari OS is the elegant, extensible design. Look into it. :)

16

@flashjazzcat: thanks, could you introduce "proper" calling subroutines from the examples that I published?


@Voy: dzieki, przyda sie. swoja droga to tak jakby uzytownicy windows narzekali na jakis program, ze nie uruchomi sie na windows 3.11 ;)

---

dzieki bezposrednim wywolanim w Atari XL OS Revision 2 moze uda sie zaprogramowac minimalistyczny maze generator :-)


https://www.youtube.com/watch?v=quduTPuu4UY

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

17

xxl napisał/a:

dzieki, przyda sie. swoja droga to tak jakby uzytownicy windows narzekali na jakis program, ze nie uruchomi sie na windows 3.11

Spłycasz problem.

To jest tak, jakby użytkownicy Windows narzekali na jakiś program, że działa TYLKO na takiej wersji Windows, którą ma programista i nie działa na wcześniejszych, ani nie będzie działać na późniejszych.

Taki styl programowania doprowadził do lamentów podczas migracji z Kickstart 1.3 do późniejszych, pomiędzy TOS, a także nie jest obcy na PC, "dzięki" czemu użeram się z jednym softem codziennie na wirtualnej maszynie, zamiast jako normalna aplikacja.

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.

18

nie ma i nie bedzie pozniejszych systemow AtariOS to raz.

dwa: rom 800: uzywa ktos? nawet jesli ktos ma 800 to juz dawno wymienil OS na nowy a jesli nie wymienil to i tak nikt na to nie bedzie pisal bo sa problemy chociazby z programowaniem przerwan.

bedzie kolejny watek zasmiecony przez troli?

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

19 Ostatnio edytowany przez tebe (2018-05-02 09:18:22)

nie ma i nie będzie? bo XXL tak napisał, ten nasz Nostradamus :P

przecież Phareon takowy popełnił i nie tylko OS (Altirra) http://www.virtualdub.org/altirra.html

p.s.
DRAC030 stworzył OS z myślą o 65816 (RAPIDUS) http://atariki.krap.pl/index.php/DracOS

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

20

juz widze jak Atari wydaje aktualizacje OS dla malego atari :D

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

21

no tak Phareon nie otrzymał zgody Atari, czyli jego OS jest niecertyfikowany

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

22

jak powstanie jeszcze 10 alternatywnych OS to Atari sie ugnie i wyda nowy AtariOS :-)

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

23

a może Atari nie chce abyśmy używali ich sprzętu kiedy oni są na "wakacjach"

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

24

to nie uzywaj i nie zasmiecaj watku tym ktorzy uzywaja.

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

25 Ostatnio edytowany przez xxl (2018-05-02 12:50:46)

https://www.youtube.com/watch?v=pJYtu71K-4I

troszke uproszczona procka generowania i ok. 100 bajtow kodu mniej :-)


---

FILL
===

wywołujemy tak samo jak DRAWTO, roznica - przed wywolaniem DRAW:

FILFLG equ $2B7

lda #1
sta FILFLG

trzeba pamietac aby przed nastepnym DRAWTO ustawic ta komorke na 0 (zero)

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