Hi, On Fri, 9 May 2014, nitinjain wrote:
> *MEMW[$B800:(width_offset-1)*2 > +(height_offset-1)*160]:=current_location^.code;* For the sake of completeness, this piece of code is just writing a character to the text mode memory of the display hardware directly. That memory area starts at a fixed address of $B800:0000 in 16bit DOS. So, the second part after the colon is just a normal X/Y coordinate to address (offset) calculation where the width values are multiplied by 2, because the hardware stores a character on 2 bytes (this is also why MEMW is used). The 160 there is really just the width of the screen (80 characters) multiplied by 2. Hope this helps a bit. As others suggested, it's possible to rewrite such code using the video unit to work with modern systems. Charlie _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal