Solved

very tricky corners ...

Posted on 2000-03-20
3
202 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

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
A Question about linking objects to ListView Items in Delphi 3 974
TEdit.SetFocus trouble 3 174
Lazarus and Excel formulas via OLE 7 319
Mydac connection data base issue 3 180
Original post  on Monitis Blog. Web performance monitoring is broken into two camps: passive and active. Passive monitoring is defined as looking at real-world historical performance by monitoring actual log-ins, site hits, clicks, requests for…
We have put together a white paper that aims to explain how MSPs can both improve their offering and ease the pain of after-hours service by: -Suggesting changes to workflow -Indicating how to rework policy to suit your team -Providing ConnectW…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

730 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