Правильно так:
## Код:
```
MODULE Sdl2Sdl ["SDL2.dll"];

   CONST
      (* Init flags *)
         initTimer* = 0;
         initAudio* = 4;
         initVideo* = 5;
         initJoystick* = 9;
         initHaptic* = 12;
         initGameController* = 13;
         initEvents* = 14;
         initNoParachute* = 20;
         initEverything* = {
            initTimer,
            initAudio,
            initVideo,
            initEvents,
            initJoystick,
            initHaptic,
            initGameController
         };
      (* Renderer flags *)
         rendererSoftware* = 0;
         rendererAccelerated* = 1;
         rendererPresentVSync* = 2;
         rendererTargetTexture* = 3;

   TYPE
      Uint8* = SHORTCHAR;
      int* = INTEGER;
      char* = SHORTCHAR;
      Uint32* = INTEGER;
      Uint32Flags* = SET;
      PtrStr* = POINTER [untagged] TO ARRAY [untagged] OF SHORTCHAR;
      PtrStrArray* = ARRAY [untagged] OF PtrStr;

      Version* = RECORD [untagged]
         major*: Uint8;
         minor*: Uint8;
         patch*: Uint8
      END;

      Window* = POINTER [untagged] TO WindowDesc;
      WindowDesc* = RECORD [untagged] END;

      Renderer* = POINTER [untagged] TO RendererDesc;
      RendererDesc* = RECORD [untagged] END;

   PROCEDURE [ccall] GetVersion* ["SDL_GetVersion"] (VAR ver: Version);
   PROCEDURE [ccall] Init* ["SDL_Init"] (flags: Uint32Flags): int;
   PROCEDURE [ccall] main* ["SDL_main"] (argc: int; VAR [nil] argv: PtrStrArray): int;
   PROCEDURE [ccall] Quit* ["SDL_Quit"];
   PROCEDURE [ccall] Delay* ["SDL_Delay"] (ms: Uint32);
   PROCEDURE [ccall] CreateWindow* ["SDL_CreateWindow"] (title: PtrStr; x, y, w, h: int; flags: Uint32Flags): Window;
   PROCEDURE [ccall] DestroyWindow* ["SDL_DestroyWindow"] (win: Window);
   PROCEDURE [ccall] CreateRenderer* ["SDL_CreateRenderer"] (window: Window; index: int; flags: Uint32Flags): Renderer;
   PROCEDURE [ccall] DestroyRenderer* ["SDL_DestroyRenderer"] (renderer: Renderer);
   PROCEDURE [ccall] RenderClear* ["SDL_RenderClear"] (renderer: Renderer): int;
   PROCEDURE [ccall] RenderPresent* ["SDL_RenderPresent"] (renderer: Renderer);
   PROCEDURE [ccall] SetRenderDrawColor* ["SDL_SetRenderDrawColor"] (renderer: Renderer; r, g, b, a: Uint8): int;

END Sdl2Sdl.
```

## Код:
```
MODULE TmpSDLTest;

   IMPORT Log := StdLog, SDL := Sdl2Sdl;

   VAR win: SDL.Window;
      ren: SDL.Renderer;

   PROCEDURE Draw;
      VAR res: SDL.int;
   BEGIN
      res := SDL.SetRenderDrawColor(ren, 0FFX, 0X, 0X, 0FFX);
      res := SDL.RenderClear(ren);
      SDL.RenderPresent(ren);
      SDL.Delay(2000)
   END Draw;

   PROCEDURE Do*;
   BEGIN
      IF SDL.Init({SDL.initVideo}) # 0 THEN
         Log.String('Error in SDL.Init'); Log.Ln
      ELSE
         win := SDL.CreateWindow('', 10, 10, 320, 200, {});
         IF win = NIL THEN
            Log.String('Error in SDL.CreateWindow'); Log.Ln
         ELSE
            ren := SDL.CreateRenderer(win, -1, {SDL.rendererAccelerated});
               (* Если тут ошибка, то пишем {SDL.rendererSoftware},
               чтобы переключить с аппаратного прорисовщика на программный *)
            IF ren = NIL THEN
               Log.String('Error in SDL.CreateRenderer'); Log.Ln
            ELSE
               Draw;
               SDL.DestroyRenderer(ren)
            END;
            SDL.DestroyWindow(win)
         END
      END;
      SDL.Quit;
      Log.String('SDL.Quit successful.'); Log.Ln
   END Do;

END TmpSDLTest.

(^Q) TmpSDLTest.Do
```
