Regarding porting the .^Screen references, if you know the format of how screen memory works.. you can allocate your own memory block and treat it like the screen and then make (usually need two) routines to move that data to the screen via a more FreePascal friendly method.
I say two routines - because I've done this kind of programming using another language call Synergy DiBoL as well as with FreePascal using the "video" unit. Which BTW is fairly portable to my knowledge. The first main ROUTINE for moving the "screen mem data" through the video unit does a complete screen draw. The other is kind of a dual purpose routine that allows writing to both simultaneously - that is - in mine I would have a basic call that allowed me to write a char to a specific cell on the screen and it would actually modify my own "screen" mem as well as use the video unit. This way a complete redraw still works. Now admittedly - you will probably end up doing a lot of variations for this single char "core" routine - like to only change foreground color in a cell, or only background color - and maybe do advanced stuff like handle the blinky cursor thing, and allow writing entire strings etc. I have an old lib online called SageAPI3 or something - but its for freepascal 1.0.9 I think or something and I have newer 2.0.x code available here: http://www.jegas.org/?PAGE=main&SECTION=download Its not documented - and is only a subset of what I'm working on but there is some neat code in there that might help ya. Best Regards, Jason P Sage [EMAIL PROTECTED] -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.432 / Virus Database: 268.16.3/614 - Release Date: 1/2/2007 2:58 PM _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal