[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Assembly C Pascal - HELP!



On Sun, Mar 31, 2002 at 09:15:39PM -0300, Jose Rafael Xavier dos Santos wrote:
> 
>  Existe alguma possibilidade de eu escrever diretamente na memoria de video? Existe algum outro metodo para escrever rapidamente na tela?
>  Preciso usar pascal para um projeto e estou tendo muitas dificuldades com a lentidao das funcoes write() e writeln(). No dos a solucao seria utilizar assembly para escrever diretamente na memoria de video. NAO SEI O QUE FAZER NO LINUX!
>  Estou fazendo de tudo para nao ter que usar o DOS ou o windows. Sei que posso chamar funcoes em C atraves do freepascal; haveria uma saida por aqui?
>  Estou usando 80x25 padrao, sem inicializar o modo grafico. Se alguem tiver alguma sugestao...
> 
> Valeu

Com qual velocidade você precisa escrever na tela? o seu programa está
redesenhando toda a tela quando precisa somente modificar uma parte?

As seguintes sequencias funcionam na maioria dos terminais para ir a uma
posição específica. quem sabe isso lhe ajude resolver o problema:

  Ex: para ir na coluna 35, linha 12 envie os seguintes caracteres com
um write():

  ESC [ 1 2 ; 3 5 f

exemplo de como escrever na posição especificada usando o shell:

  $ echo -en "\033\133\061\062\073\063\065\146TESTE"

O código do ESC é 33 em octal
            [     133
            1     61
            2     62
            ;     73
            3     63
            5     65
            f     146

Outras sequencias úteis são:

  apaga até o fim da linha atual:  ESC [ K
  apaga a tela                  :  ESC [ 0 m CR ESC [ 0 d ESC [ 2 J

o código do "CR" é 13 decimal

Acho que isso ajuda a resolver o seu problema...


-- 
To UNSUBSCRIBE, email to debian-user-portuguese-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: