amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Screeninfo via Arexx [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2003-12-31, 16:00 h

Palgucker
Posts: 1342
User
Habe mal wieder ein kleines Problem. Ich bastele gerade an einem Script
für eine Slideshow herum.
Nun würde Ich nur gerne wissen, ob der Screen nun hires, laced oder beides
ist.
Da es sich um ILBM's mit CAMG-Chunk handelt, könnte ich diesen ja auch
auslesen, das wollte ich aber vermeiden, da ich dann zusätzlich die
Bilder öffnen müsste (was im Notfall natürlich auch nicht so schlimm
wäre).

Bisher benutze ich dafür einen Arexxscript-Schnipsel eines anderen
Programmierers, der einiges recht elegant löst.

code:
/* rexx */
ibase=showlist(l,"intuition.library",,a)
call forbid;
scrA=next(ibase,56)
scrW=c2d(IMPORT(offset(scrA,12),2))
scrH=c2d(IMPORT(offset(scrA,14),2))
screen=word(IMPORT(next(scrA,26)),1)
call permit
say scrW
say scrH
say screen


Ist es auf diese Weise auch möglich, den Screenmode des vordersten
Bildschirms herauszufinden, oder zumindestens die Flags für hires und
laced?

Interessant wäre für mich natürlich auch, ob und wo man über diese Offsetwerte
was nachlesen kann.

mfg Palgucker und

allen einen guten Rutsch



[ - Answer - Quote - Direct link - ]

2003-12-31, 16:39 h

thomas
Posts: 7718
User

Die Flags, die du meinst, stehen auf Offset 76. Den ScreenMode bekommt man nich heraus (s.u.).

Die Offsets selber mußt du wohl selbst berechnen (bzw. berechnen lassen). Wie die Strukturen aufgebaut sind, steht in den Include-Dateien, die im NDK enthalten sind.

Allerdings ist das ganze Auslesen aus dem Speicher eher OS1.3-Stil. Unter AGA oder Grafikkarte wirst du Flags wie HIRES oder LACE nicht mehr finden. Dort gibt es eine DisplayID, mit deren Hilfe du in der Display-Datenbank nachsehen kannst. Allerdings funktioniert das ganze nur mit den entsprechenden Funktionen der graphics.library. Mit ARexx hast du da nicht viele Chancen.

In Programmiersprachen wie C und Assembler kann man dann auch die entsprechenden Namen verwenden, anstatt die Offsets auszurechnen. Das übernimmt dann der Compiler.

Aber vielleicht sagst du einfach mal, was dabei herauskommen soll. Vielleicht kenne ich ja eine einfache Lösung für ARexx.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Answer - Quote - Direct link - ]

2003-12-31, 18:02 h

Palgucker
Posts: 1342
User
Hallo Thomas

Dann werde ich mir den Offset 76 mal etwas genauer anschauen. Das ich
unter AGA diese Flags nicht finden werde, macht mich aber etwas stutzig.
Was mich aber zur nächsten (abschäulichen ;) ) Idee bringt. Wenn man
in der Copperliste nach dem BPLCON0 = $100 suchen würde und die Bits 2 und 15
ausliest - hätte ich das, was ich suche.
Man müsste nur die zum aktuellen Screen zugehörige Copperliste finden...
Und da geht es schon wieder los.

Zur Erklärung vielleicht noch, in dieser Slideshow, die aus gerippten Bildern
allermöglichen Demos der letzten Jahre besteht, habe ich den Bildern die
orginalen Screenmodes verpasst, in denen sie auch im Demo zu sehen waren.
Nun setze ich natürlich für übergrosse Bilder Dein Scrollscreen Programm ein.
Dabei sollen natürlich Bilder, die kleiner sind als mein Offset nicht gescrollt
werden. Diese Grenzen ändern sich natürlich mit dem Screenmode, So das
z.B Loresbilder mit einer Höhe von 512 nicht mehr gescrollt werden, obwohl sie
nicht ganz zu sehen sind. Mehr ist es eigentlich nicht.

mfg Palgucker



[ - Answer - Quote - Direct link - ]

2003-12-31, 18:44 h

Palgucker
Posts: 1342
User
Hi nochmal

Habe mir mal Offset 76 angeschaut, und es scheint genau das zu sein, was
ich suche. Kann es sein, das hier die selben Werte vorliegen, wie im
Bitplancontrollregister 0 der Copperliste ?
Besten Dank auf jedenfall schonmal.

mfg Palgucker

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Screeninfo via Arexx [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.