Solved

very tricky corners ...

Posted on 2000-03-20
3
210 Views
Last Modified: 2010-04-16
How can I create new or modify appearance of ascii characters in text mode...

I need smoother versions of the single frame corners... I.e. characters 191, 217, 192, 218 look like quarter circles.

[if possible provide a way to use the standard one simultaneously...]

thanx, in advance
0
Comment
Question by:DaNorty
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 5

Accepted Solution

by:
scrapdog earned 30 total points
ID: 2638463
pass the ASCII index and the character data to this procedure

the character data is typically 16 bytes per character



Procedure setasciiChar(Charnum : Byte; Var data);
Var
  offset : Word;
begin
  offset := CharNum * 32;
  Inline($FA);
  PortW[$3C4] := $0402;
  PortW[$3C4] := $0704;
  PortW[$3CE] := $0204;
  PortW[$3CE] := $0005;
  PortW[$3CE] := $0006;
  Move(data, Ptr($A000, offset)^, 16);
  PortW[$3C4] := $0302;
  PortW[$3C4] := $0304;
  PortW[$3CE] := $0004;
  PortW[$3CE] := $1005;
  PortW[$3CE] := $0E06;
  Inline($FB);
end;
0
 

Author Comment

by:DaNorty
ID: 2706969
The modified character display on screen but however do not print on the printer...  I now need a way to send  them to the printer...
0
 
LVL 3

Expert Comment

by:Mathias
ID: 2712233
Hey, I saw your question, but I saw it to late. Well, here is my code for you for nothing...
It includes load and save procedures.

procedure getchar(ch: char; var data);
begin
  outpw($3C4, $0402);
  outpw($3C4, $0704);
  outpw($3CE, $0204);
  outpw($3CE, $0005);
  outpw($3CE, $0006);
  Move(Ptr(SegA000, Ord(ch) shl 5)^, Data, 16);
  outpw($3C4, $0302);
  outpw($3C4, $0304);
  outpw($3CE, $0004);
  outpw($3CE, $1005);
  outpw($3CE, $0E06);
end;

procedure setchar(ch:char; var data);
begin
  outpw($3C4, $0402);
  outpw($3C4, $0704);
  outpw($3CE, $0204);
  outpw($3CE, $0005);
  outpw($3CE, $0006);
  move(Data, Ptr(segA000, Ord(ch) shl 5)^, 16);
  outpw($3C4, $0302);
  outpw($3C4, $0304);
  outpw($3CE, $0004);
  outpw($3CE, $1005);
  outpw($3CE, $0E06);
end;
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this blog we highlight approaches to managed security as a service.  We also look into ConnectWise’s value in aiding MSPs’ security management and indicate why critical alerting is a necessary integration.
Make the most of your online learning experience.
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question