home *** CD-ROM | disk | FTP | other *** search
- unit screen;
- (* Unit für schnelle Bildschirmausgaben *
- * Oliver Redner, 10.06.1990 *)
- {$A+,B-,D-,E-,F-,I-,L-,N-,O-,R-,S-,V-}
-
-
- interface
-
- type crt_screen_type = array[0..24,0..79,0..1] of char;
- word_screen = array[0..24,0..79] of word;
- wp = ^word_screen;
-
- const all_single_box = 0; (* Konstanten für die Prozedur box *)
- all_double_box = 1;
- hor_single_box = 2;
- hor_double_box = 3;
-
- var crt_screen: ^crt_screen_type;
- crt_mode: byte absolute $40:$49;
-
- procedure box(muster,x_start,y_start,x_lng,y_lng,rand_att,mitt_att: byte);
- procedure wr(y,x,att: byte; text: string);
- procedure wrm(y,x,att: byte; text: string);
- procedure wrr(y,x,att: byte; text: string);
- procedure wischen(y,x,anzahl,att: byte);
- procedure setattr(y,x,anzahl,att: byte);
-
-
- implementation
-
- const box_muster: array[0..23] of char =
- ('┌','─','┐','│','└','┘',
- '╔','═','╗','║','╚','╝',
- '╓','─','╖','║','╙','╜',
- '╒','═','╕','│','╘','╛');
-
- {$F+}
- procedure box(muster,x_start,y_start,x_lng,y_lng,rand_att,mitt_att: byte);
- external; {$L box}
-
- procedure wr(y,x,att: byte; text: string); external;
- procedure wrm(y,x,att: byte; text: string); external;
- procedure wrr(y,x,att: byte; text: string); external; {$L wr}
-
- procedure wischen(y,x,anzahl,att: byte); external; {$L wischen}
-
- procedure setattr(y,x,anzahl,att: byte); external; {$L setattr}
- {$F-}
-
-
- begin
- if crt_mode=7 then crt_screen:=ptr($B000,0)
- else crt_screen:=ptr($B800,0);
- end.