On Mon, June 16, 2014 10:09, mokashe.ram wrote:
Hi Sudarshan, > It used to be possible (Turbo Pascal version 7.0 for DOS)to access > screen memory using $B800 > > Is there an equivalent/workaround using Free Pascal version 2.6.4 ? Have you read all the previous e-mails providing answers to your previous questions? I believe that all the options have already been covered there, but let's summarize again: - Direct access to screen memory is not possible from standard application level on current platforms (it is still possible using the GO32v2 target supported by FPC and intended for running under Dos). - Different operating systems provide different means for 'low-level' access of the video console (some of them allow more control, some of them less), but it always requires changing the original application to some extent (you cannot just do find&replace and recompile). These are obviously accessible for FPC (via unit Windows for MS Windows platforms, unit VioCalls for OS/2, access to $B800 for Go32v2, etc.), but the source code using these platform-specific constructs is then obviously not portable across different targets. - FPC provides two cross-platform solutions, both having certain advantages and disadvantages: 1) One of them (slightly higher level compared to your original construct using $B800 segment access) is using unit Crt with its routines TextColor, TextBackground (or TextAttr variable as an alternative to these two routines), GotoXY and Write. 2) The other is using unit Video with its VideoBuf^ based access (combined with UpdateScreen and obviously also InitVideo and DoneVideo routines) - this provides a fairly low-level construct more similar to the old approach used in your original DOS application created for TP/BP. Tomas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal