Освой компьютер
lea IntName(PC),A1 ;загружаем имя
;intuition.library
moveq #0,D0 ;версия - любая
jsr OpenLib(A6) ;открываем библиотеку
move.l D0,intbase ;сохраняем базовый адрес
rts
closeint: ;* закрыть Intuition
move.l ExecBase,A6
move.l intbase(PC),A1 ;базовый адрес
;intuition.library
jsr CloseLib(A6) ;закрываем библиотеку
rts
scropen: ;* открыть экран
move.l intbase(PC),A6
lea screen_defs(PC),A0 ;параметры экрана
jsr OpenScreen(A6) ;открываем экран
move.l D0,screenhd ;сохраняем идентификатор
rts
scrclose: ;* закрыть экран
move.l intbase(PC),A6
move.l screenhd(PC),A0 ;идентификатор экрана - в A0
jsr CloseScreen(A6) ;закрываем экран
rts
scrmove: ;передвинуть экран
move.l intbase(PC),A6
move.l screenhd(PC),A0 ;идентификатор экрана - в A0
moveq.l #0,D0 ;горизонтальное смещение = 0
jsr MoveScreen(A6) ;двигаем экран
rts ;все screen_defs: ;* начало таблицы параметров
;экрана
x_pos: dc.w 0 ;X-координата экрана
y_pos: dc.w 0 ;Y-координата экрана
width: dc.w 320 ;ширина (размер по X)
height: dc.w 200 ;высота (размер по Y)
depth: dc.w 4 ;число битпланов
detail_pen: dc.b 0 ;цвет заголовка
block_pen: dc.b 1 ;цвет фона
view_modes: dc.w 2 ;видео-режимы
screen_type: dc.w 15 ;тип экрана
font: dc.l 0 ;шрифт
title: dc.l sname ;указатель на имя (заголовок)
;экрана
gadgets: dc.l 0 ;список управляющих символов
bitmap: dc.l 0 ;битовая карта экрана
sname: dc.b \'Our Screen\',0 ;ASCII-строка - имя экрана align.w
screenhd: dc.l 0 ;идентификатор экрана
intbase: dc.l 0 ;базовый адрес intuition end Рассмотрим еще одну простую функцию Intuition - DisplayBeep (смещение -96 в
intuition.library), параметром которой является идентификатор экрана.
AMIGA: ПРОГРАММИРОВАНИЕ НА АССЕМБЛЕРЕ.
|