I denne skuffen på disketten vil I kunne finde et programeksempel henholdsvis til Seka'en og Devpac'en. Programmet er rimelig omfattende. Kort fortalt er det et program, der laver en ny DOS- ordre, der virker nogenlunde som FILENOTE ordren (Dvs. den gør det muligt at knytte en kommentar til filen, der vil komme frem ved brug af LIST ordren). Det viser hvordan man åbner et library og bruger rutinerne (i dette tilfælde dos library'et) og hvordan man bruger argumentet, det der bliver skrevet umidelbart efter ordren, i sit eget program. Desuden indeholder det en rutine til at skrive til CLI-vinduet. Men jeg vil foreslå, at I tænder for Amigaen og henter programeksemplet ind. Jeg har prøvet at skrive bemærkninger til hver linie, så jeg håber det kan forstås af alle. Library rutiner Jeg vil lige som en hjælp skitsere hvad library rutiner er og hvordan man benytter dem. Amigaen er udstyret med ikke mindre end 256K ROM og i denne ROM ligger der en masse færdige rutiner - library rutinerne (de fleste skrevet i C) for at lette programørens arbejde. Rutiner til åbning af vinduer, diskette tilgang etc. etc. For at sikre kompatibilitet med efterfølgende Amigaer er det på det strengeste forbudt at hoppe til en absolut adresse i ROM'en - selvom man ved, at den ønskede rutine ligger der. Den eneste adresse der ligger fast er adressen på slutningen af Exec-librariet - execbase. Denne kan man finde i adresse 4. Men hvordan "åbner" man så andre biblioteker? Her skal man bruge en Exec rutine der hedder "Openlibrary" der har offset'en -408, som er det tal der skal lægges til execbase'en. (Se OpenLib subrutinen i Eks.1). Baseadressen-408 er altså den egentlige adresse man skal jumpe til. (På denne adresse står der så en jmp ordre til selve rutinen). Rutinen skal selvfølgelig også have overført nogle forskellige argumenter, i dette tilfælde en pointer på biblioteks navnet i A1 og et version nummer i D0. Retur får man så base adressen på det pågældende library i D0. Indeholder D0 et 0 er der sket en fejl under åbningen. Under forudsætning af at åbningen sker uden problemer (hvilket den næsten altid vil gøre) kan man nu kalde rutinerne i libraryet, blot ved at over føre dettes baseadresse i a6 istedet. Det kræver selvfølgelig at man har noget dukumentation over rutinerne, hvor man kan finde offset og krævede argumenter. Her kan jeg kun anbefale Rom-Kernal manualerne der indeholder alt hvad man kan få brug for, og lidt til. Devpac og Includefiler Egentlig er det lidt uretfærdigt at de to programmer ligner hinanden så meget. Med Devpac'en er det nemlig muligt at benytte Include filer, hvilket er en stor force. Det er faktisk meget enkelt: På Devpac disketten ligger der en masse includefiler til de forskellige libraries. Skal du som i vores eks. benytte Dos library'et includer du blot: libraries/dos_lib.i og libraries/dos.i i begyndelsen af dit program. Nu kan du glemme alt om de forskellige offsets og bare skrive navnet på rutinen. Includefilen dos_lib.i indeholder nemlig alle offsets til dos librariet, så er man fri for selv at skrive dem i starten af programmet som i mit eksempel. Include filerne indeholder mere end blot offset'ne, men det vil jeg ikke beskrive her. Jeg kan kun sige: - Hent dem ind og kig på dem! -, eller endnu bedre: - Anskaf jer Kernal manualerne!! Der står de alle sammen !-. Prøv også at hente programmet "helloworld.s" der ligger på Devpac disketten ind og kig grundigt på det. Det er en stor fordel at lære at benytte include filerne. Skriv og fortæl Det var ikke så meget det blev til denne gang, men jeg håber at der aligevel er lidt at gå i krig med. Næste gang havde jeg tænkt mig at skrive lidt om copperen, for dem der sidder og brænder for at lave deres egen demo. Men har I andre emner I gerne vil vide mere om, så kontakt endelig bladet! Kan I ikke få fat på dem der inde (hvilket til tider godt kan være svært), så er I velkomne til at skrive til direkte til mig, og lette redaktionen for den byrde. Adressen er: Thomas Hildebrandt Kalvehavevej 54A 3250 Gilleleje. DANMARK