R o z w a û a n i a p r z y s z k l a n e c z c e k r w i Jak sfuszerowaê opis bibliotek? Devoth/SAS Leûaîem wygodnie w swojej trumnie i czytaîem C&A (nawiasem mówiâc, kupujë to pisemko dla uûytkowników C64 juû tylko z przyzwyczajenia). I nie byîoby w tym moûe jeszcze nic dziwnego, gdyby nie fakt, ûe z ust toczyîa mi sië krwista piana, a szpony zaciskaîy sië konwulsyjnie na tej niewielkiego formatu gazetce. Z radia stylizowanego na katafalk rozlegîa sië muzyka. Podniosîem gîowë i wsîuchaîem sië w melodië. Taak. "Ômierdzâce podwórka" Big-Cyca. Z niewiadomych przyczyn sîowo "ômierdzâce" skojarzyîo mi sië z tym, co akurat zgîëbiaîem - z artykuîem o funkcjach bibliotecznych. Kiedy po jakiejô godzinie doszedîem do siebie, postanowiîem napisaê o tym, co wywoîaîo u mnie stan niebezpiecznego podniecenia. A zatem piszë... Juû od dosyê dawna C&A publikuje spis funkcji bibliotecznych ROMu Amigi. Jest to inicjatywa ze wszech miar pozytywna i godna pochwaîy. Jest tylko jedno maîe ale - kto, do stu tysiëcy beczek skrzepîej krwi, mógî potraktowaê to tak beztrosko? Dlaczego zakîada sië, ûe czytelnik jest wieloletnim programistâ? Spis funkcji z czterowyrazowym komentarzem do kaûdej z nich nie wystarczy poczâtkujâcemu w ûaden sposób! Zapomniano nawet o podstawowych rzeczach, jakimi sâ struktury systemowe - przecieû bez ich znajomoôci nie uda sië wykorzystaê wiëcej niû 10% wiedzy zawartej w caîym cyklu. Caîy cykl jest wydîuûajâcâ sië ôciâgawkë dla zaawansowanych programistów dysponujâcych zazwyczaj wîasnâ literaturâ. Sam jestem programistâ dosyê zaawansowanym (no, moûe ôrednio - odrobina samokrytyki bëdzie tu jak najbardziej na miejscu), a na dodatek posiadam trochë literatury opisujâcej wnëtrze Amigi. Mimo to (a moûe wîaônie dlatego), nie udaîo mi sië znaleúê zastosowania dla informacji zawartych w cyklu "Biblioteki Amigi". Wszystkie dane, które zamieszcza C&A, sâ podane w kaûdej ksiâûce traktujâcej o ROMie Amigi (ômiem twierdziê, ûe w znacznie bardziej przystëpnej i zrozumiaîej formie). Dlatego teû poczâtkujâcy mogâ sobie poczytaê kaûdy odcinek cyklu w nadziei, ûe wôród skâpo udzielanych informacji o funkcjach znajdzie sië jakiô przeciek i autor zdradzi odrobinë sekretów naszego komputera, choêby opisujâc bardziej wyczerpujâco którâkolwiek z bibliotek. Niestety, próûne nadzieje, nic takiego dotychczas nie nastâpiîo. Juû tylko z tego powodu cykl wydaje sië byê maîo przydatny dla poczâtkujâcych. Caîkowicie dyskwalifikuje go zaô brak opisu struktur systemowych. Bez tego staje sië ôciâgâ dla tych, którzy juû "siedzâ w temacie". Ale jak na ôciâgawkë dla zaawansowanych, to jest on chyba zbyt obszerny, nie sâdzicie? Moûe lepiej byîoby, gdyby autor poôwiëciî odrobinë czasu i przelaî na papier czëôê swojej (na pewno duûej) wiedzy na temat poszczególnych bibliotek, robiâc to jednak wyczerpujâco i tak, by moûna byîo wykorzystaê te informacje bez siëgania do literatury fachowej. Dla tych, którzy zagubili sië w nawale danych, podajë listë funkcji bibliotek DOS, Exec, Intuition i Graphics. Funkcje pogrupowane sâ w bloki "tematyczne", co powinno pomóc Wam w pewnym usystematyzowaniu swojej wiedzy na ich temat. A teraz - szklanka ôwieûej, ciepîej krwi i do trumny! Dev Biblioteka DOS I. Pliki: Close DeleteFile Info Lock Open Read Rename Seek SetComment SetProtection UnLock Write II. Katalogi: CreateDir CurrentDir ExNext Examine ParentDir III. Procesy: CreateProc DeviceProc IV. Pakiety (packets): GetPacket QueuePacket V. Seg IO: LoadSeg UnloadSeg VI. Inne: DateStamp Delay DupLock Execute Exit Input IoErr IsInteractive Output WaitForChar Biblioteka Intuition I. Ekrany i okna: ActivateWindow BeginRefresh CloseScreen CloseWindow EndRefresh GetScreenData MakeScreen ModifyIDCMP MoveScreen MoveWindow OpenScreen OpenWindow RefreshWindowFrame RemakeDisplay RethinkDisplay ScreenToBack ScreenToFront SetWindowTitles ShowTitle SizeWindow WindowLimits II. Gadgety: ActivateGadget AddGList AddGadget DrawBorder DrawImage ModifyProp NewModifyProp OffGadget OnGadget RefreshGList RefreshGadgets RemoveGList RemoveGadget III. Tekst: IntuiTextLenght PrintText IV. Requestery: AutoRequest BuildSysRequest ClearDMRequest DisplayAlert EndRequest FreeSysRequest InitRequester Request SetDMRequest V. Menu: ClearMenuStrip ItemAddress OffMenu OnMenu SetMenuStrip VI. Wskaúnik: ClearPointer DoubleClick ReportMouse SetPointer VII. Preferencje: GetDefPrefs GetPrefs SetPrefs VIII. Inne: AllocRemember AlohaWorkbench CloseWorkbench CurrentTime DisplayBeep FreeRemember Intuition LockBase OpenIntuition OpenWorkbench UnlockBase ViewAddress ViewPortAddress WBenchToBack WBenchToFront Biblioteka Graphics I. Elementy graficzne (GELs): AddAnimOb AddBob AddVSprite Animate ChangeSprite DoCollision DrawGList FreeGBuffers FreeSprite GetGBuffers GetSprite InitGMasks InitGels InitMasks MoveSprite RemIBob RemVSprite SetCollision SortGList II. Blitter: BltBitmap BltBitmapRastport BltClear BltMaskBitmapRastport BltPattern BltTemplate ClipBlit DisownBlitter OwnBlitter QBSBlit QBlit WaitBlit III. Tekst: AddFont AskFont AskSoftStyle CloseFont OpenFont RemFont SetFont SetFontStyle Text TextLenght IV. Operacje podstawowe: AreaDraw AreaEllipse AreaEnd AreaMove ClearScreen Draw DrawEllipse Flood InitArea Move PolyDraw ReadPixel RectFill SetRast WritePixel V. Copper: CBump CMove CWait FreeCopList FreeCprList FreeVPortCopLists MrgCop UCopperListInit VI. Regiony (regions): AndRectRegion AndRegionRegion ClearRectRegion ClearRegion DisposeRegion NewRegion OrRectRegion OrRegionRegion XorRectRegion XorRegionRegion VII. Kolory: FreeColorMap GetColorMap GetRGB4 LoadRGB4 SetAPen SetBPen SetDrMd SetRGB4 SetRGB4CM VIII. Scroll: ScrollRaster ScrollVPort IX. Inne: AllocRaster AttemptLockLayerRom ClearEOL CopySBitmap FreeRaster InitBitmap InitRastport InitTmpRas InitVPort InitView LoadView LockLayerRom MakeVPort SyncSBitmap UnLockLayerRom VBeamPos WaitBOVP WaitTOF Biblioteka Exec I. Alerty (alerts): Alert Debug Exception II. Urzâdzenia (devices): AddDevice CloseDevice OpenDevice RemDevice III. Przerwania (interrupts): AddIntServer Cause RemIntServer SetIntVector IV. Wejôcie/wyjôcie (I/O): AbortIO CheckIO DoIO SendIO WaitIO V. Biblioteki (libraries): AddLibrary CloseLibrary InitStruct MakeFunctions MakeLibrary OldOpenLibrary OpenLibrary RemLibrary SetFunction SumLibrary VI. Listy (lists): AddHead AddTail Enqueue FindName Insert RemHead Remove RemTail VII. Pamiëê (memory): AllocAbs Allocate AllocEntry AllocMem AvailMem DeAllocate FreeEntry FreeMem TypeOfMem VIII. Porty (ports): AddPort AllocTrap FindPort FreeTrap GetMsg PutMsg RemPort ReplyMsg SetExcept WaitPort IX. Programy rezydentne (resident): InitCode InitResident FindResident X. Semafory (semaphores): AddSemaphore AttemptSemaphore FindSemaphore InitSemaphore ObtainSemaphore ObtainSemaphoreList Procure ReleaseSemaphore ReleaseSemaphoreList RemSemaphore Vacate XI. Zadania (tasks): AddTask AllocSignal Disable Enable FindTask Forbid FreeSignal Permit RemTask SetSignals SetTaskPri Signal Wait XII. Inne: AddMemList AddResource CopyMem CopyMemQuick Dispatch ExitIntr GetCC OpenResource RawDoFmt RawIOInit RawMayGetChar RawPutChar RemResource Reschedule Schedule SetSR SumKickData SuperState Supervisor Switch UserState