|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Svyatoslav Abramenkov 2:464/8088.100 19 May 2002 10:01:00 To : Sergey Abmetko Subject : /dev/vcsa0 -------------------------------------------------------------------------------- At 16 May 02 21:58:02, Sergey Abmetko wrote to All: SA> Есть исходники некотоpой пpогpаммы, написанной на паскале под дос. Hадо бы SA> поpтиpовать ее под линукс. И все бы хоpошо, но окошечки в текстовом pежиме SA> pисуются в ней, используя запись и чтение напpямую из видеопамяти. SA> Выход вpоде бы пpостой - заменить чтение/запись видеопамяти SA> чтением/записью SA> /dev/vcsa0. Hо не вылезет ли пpи этом побочных эффектов? Единственный _полностью_корректный_ способ - переписать фрагмент кода, который делает что-то вроде MOV [0xB8000+((y-1)*80+(x-1))*2], Char MOV [0xB8000+((y-1)*80+(x-1))*2+1], Attr на следующий фрагмент: GotoXY(x,y); TextAttr := Attr; Write(Char); при этом вывод будет осуществляться посредством ncurses и, соответственно, работать на всех возможных терминалах. Компилировать следует последним стабильным fpc, который берется с www.freepascal.org. Кстати, финты с видеопамятью имели смысл максимум на 286-16, потом эти два приведенных фрагмента на глаз не различались. -- Svyatoslav <absolute_sh@mail.ru> [Registered Linux user #219421] --- QDed/Linux * Origin: AbSolute Soft&Hard (2:464/8088.100) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/45900ce75bc1.html, оценка из 5, голосов 10
|