Index: freexp/ntfont.pas =================================================================== RCS file: freexp/ntfont.pas diff -N freexp/ntfont.pas --- freexp/ntfont.pas 1 Jan 2005 11:16:28 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,178 +0,0 @@ -{ --------------------------------------------------------------- } -{ Dieser Quelltext ist urheberrechtlich geschuetzt. } -{ (c) 2003-2005 FreeXP, http://www.freexp.de } -{ CrossPoint ist eine eingetragene Marke von Peter Mandrella. } -{ } -{ Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der } -{ Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html. } -{ --------------------------------------------------------------- } -{ $Id: ntfont.pas,v 1.6 2005/01/01 11:16:28 mw Exp $ } -UNIT ntfont; - -INTERFACE - -USES DOS; - - -{ Definition eines Zeichens und eines kompletten Zeichensatzes im - Character Generator RAM ( VideoRAM Plane 2 ) -} -TYPE CHARTYP = ARRAY[0..31] OF BYTE; - CHARSETTYP = ARRAY[0..255] OF CHARTYP; - -{ SETCHAR : schreibt ein Zeichen in den Zeichengenerator im Videospeicher - GETCHAR : liest ein Zeichen aus dem Zeichengenerator im Videospeicher aus - Zur Erklaerung des Parameters BLOCK siehe PROCEDURE SETBLOCK -} -PROCEDURE FONTTEST; - -VAR CHRHIG : BYTE ABSOLUTE $40:$85; { Zeichenhoehe in Pixeln } - SCRHIG : BYTE ABSOLUTE $40:$84; { Bildschirmhoehe } - LINWID : WORD ABSOLUTE $40:$4A; { Zeichen / Zeile } - SCRSIZE : WORD ABSOLUTE $40:$4C; { Anzahl Bytes pro Seite } - -IMPLEMENTATION - -uses clip,xpfonts,xp0; -CONST CSI : ARRAY[0..7] OF BYTE = (0,2,4,6,1,3,5,7); - refchar : chartyp = - ( 1,2,4,8,$10,$20,$40,$80, - $FF,0,$FF,0,$FF,0,$FF,0, - $C0,0,$C0,0,$C0,0,$C0,0, - 0,$C0,0,$C0,0,$C0,0,$C0 - ); -{ - mit welchem Zeichen getestet wird - '!' ist leicht zu sehen, stoert aber nicht so sehr - im realen Betrieb waere #0 sinnvoll, weil <Nul> - eigentlich nie auf dem Bildschirm erscheint -} -const testwith : char = #0; -{ - Zeitabstand fuer den Aufruf des Umschalte- Tests - 18 ist etwas kuerzer als eine Sekunde - - 1 erzeugt auf einem Athlon 600 unter WIN98 ueber 50% - Systemlast -} -const timeout : byte = 50; - -VAR CHSET : ARRAY[0..6] OF CHARSETTYP ABSOLUTE $A000:0000; - vollbild : boolean; - -function checkfont : boolean; -var testchar : chartyp; - i : byte; -begin - {getchar(0,testwith,testchar);} - vollbild := true; - for i := 0 to pred(sizeof(chartyp)) do begin - if testchar[i] <> refchar[i] then vollbild := false; - end; - checkfont := vollbild; -end; - -PROCEDURE SETCHAR(BLOCK:BYTE;C:CHAR;DATEN:CHARTYP); -VAR R : REGISTERS; -BEGIN - R.AX := $1100; - R.BH := 32; - R.BL := BLOCK; - R.CX := 1; - R.DX := WORD(C); - R.ES := SEG(DATEN); - R.BP := OFS(DATEN); - INTR($10,R); -END; { SETCHAR } - - -CONST ISTA : WORD = $3DA; { Input Status Port } - -PROCEDURE HSYNCH; -INLINE($8B/$16/ISTA/ { MOV DX,[ISTA] } - $EC/ { LOOP1: IN AL,DX } - $A8/1/ { TEST AL,1 } - $75/$FB/ { JNZ LOOP1 } - $EC/ { LOOP2: IN AL,DX } - $A8/1/ { TEST AL,1 } - $74/$FB { JZ LOOP2 } - ); - - -PROCEDURE GETCHAR(BLOCK:BYTE;C:CHAR;VAR DATEN:CHARTYP); -BEGIN - HSYNCH; - INLINE($FA); { CLI } - PORTW[$3C4] := $0100; { SYNC RESET } - PORTW[$3C4] := $0704; { SEQUENZIELLE ADRESSIERUNG } - PORTW[$3C4] := $0300; { SYNC RESET AUFHEBEN } - PORTW[$3CE] := $0204; { READ MAP SELECT } - PORTW[$3CE] := $0005; { SEQUENZIELL } - PORTW[$3CE] := $0406; { MEMORY MODE $A000, 64K, SEQUENZIELL } - DATEN := CHSET[CSI[BLOCK]][BYTE(C)]; - PORTW[$3C4] := $0100; { SYNC RESET } - PORTW[$3C4] := $0304; { ODD / EVEN ADRESSIERUNG } - PORTW[$3C4] := $0300; { SYNC RESET AUFHEBEN } - PORTW[$3CE] := $0004; { READ MAP SELECT } - PORTW[$3CE] := $1005; { ODD / EVEN } - PORTW[$3CE] := $0E06; { MEMORY MODE $B800, 32K, ODD/EVEN } - INLINE($FB); { STI } -END; { GETCHAR } - -procedure XPFont; -begin - if not ParLCD then - if ParFontfile[1]='*' then - InternalFont - else - LoadFontfile(ParFontfile); -end; - -{ Versuch Fonts waehrend der Laufzeit neuzuladen fuehrt } -{ schnell zu einem bunten unleserlichen Bild } -{ Schade } - -PROCEDURE FONTTEST; -begin -(* - if (WinVersion=4) then begin - if (nttimer=timeout) then begin - {setchar(0,testwith,refchar);} - vollbild := checkfont; - if modus <> vollbild then begin - if vollbild then xpfont; - modus := vollbild; - nttimer:=0; - end; - end else begin - nttimer:=nttimer+1; - end; - end; -*) -end; - -BEGIN -END. -{ - $Log: ntfont.pas,v $ - Revision 1.6 2005/01/01 11:16:28 mw - MW: - Willkommen im Jahr 2005 - - Revision 1.5 2004/01/09 16:18:57 mw - MW: - Wir haben jetzt 2004!! - - Revision 1.4 2003/08/19 18:26:53 mw - MW: - Unit zum Dummy verdammt, da leider Funktion nicht sauber - herstellbar. (Buntes unleserliches Bild nach Hin- und Herschalten - zwischen Vollbild und Fenster. - - Revision 1.2 2003/08/19 16:57:53 mw - MW: - Idle-Procedure für ntfont.fonttest angezapft. - - xpx.pas aufgeräumt. - - Revision 1.1 2003/08/19 13:54:27 mw - MW: - Neue Unit ntfont.pas : - Automatische Bildscirmreparatur beim Schalten in den Vollbildmodus - (Derzeit wegen exprimentellem Status noch nicht scharf geschaltet). - -} \ No newline at end of file Index: freexp/xp1.pas =================================================================== RCS file: /server/cvs/freexp/xp1.pas,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- freexp/xp1.pas 1 Jan 2005 11:16:28 -0000 1.59 +++ freexp/xp1.pas 14 Nov 2005 17:17:21 -0000 1.60 @@ -8,7 +8,7 @@ { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der } { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html. } { --------------------------------------------------------------- } -{ $Id: xp1.pas,v 1.59 2005/01/01 11:16:28 mw Exp $ } +{ $Id: xp1.pas,v 1.60 2005/11/14 17:17:21 mw Exp $ } { CrossPoint - allg. Routinen } @@ -2375,11 +2375,72 @@ end; {$ENDIF} -{$I xp1cm.inc} +{ TTY Interface (ehemals in xp1cm.inc) } + +const cm = false; + +procedure cm_w(const s:string); +begin + if cm then write(s) + else write(s); +end; + +procedure cm_wln; +const lines : byte = 1; +{var dummy : char; } +begin + if cm then begin + writeln; + inc(lines); + if lines=screenlines then begin + if moremode then begin + cm_w('<more>'); +{ dummy:=}cm_key; + cm_w(#13+' '+#13); + end; + lines:=1; + end; + end + else + writeln; +end; + +procedure cm_wl(const s:string); +begin + cm_w(s); + cm_wln; +end; + +function cm_key:char; +begin + cm_key:=readkey; +end; + +procedure cm_rl(var s:string; maxlen:byte; dot:boolean; var brk:boolean); +var x,y : byte; + t : taste; +begin + x:=wherex; y:=wherey; + brk:=false; + repeat + wrt(x,y,s); + Wrt2(dup(maxlen-length(s), iifc(dot,'.',' ')) + dup(maxlen-length(s),#8)); + get(t,curon); + if (t=keybs) and (s<>'') then dellast(s) + else if (t>=' ') and (length(s)<maxlen) then s:=s+t; + until (t=keycr) or (t=keyesc) or (t=^X); + brk:=(t<>keycr); + s:=trim(s); + writeln; + cursor(curon); +end; end. { $Log: xp1.pas,v $ + Revision 1.60 2005/11/14 17:17:21 mw + MW: - xp1cm.inc ist jetzt fest in der xp1.pas enthalten. + Revision 1.59 2005/01/01 11:16:28 mw MW: - Willkommen im Jahr 2005 Index: freexp/xp1cm.inc =================================================================== RCS file: freexp/xp1cm.inc diff -N freexp/xp1cm.inc --- freexp/xp1cm.inc 1 Jan 2005 11:16:27 -0000 1.8 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,85 +0,0 @@ -{ --------------------------------------------------------------- } -{ Dieser Quelltext ist urheberrechtlich geschuetzt. } -{ (c) 1991-1999 Peter Mandrella } -{ (c) 2000-2001 OpenXP-Team } -{ (c) 2002-2005 FreeXP, http://www.freexp.de } -{ CrossPoint ist eine eingetragene Marke von Peter Mandrella. } -{ } -{ Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der } -{ Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html. } -{ --------------------------------------------------------------- } -{ $Id: xp1cm.inc,v 1.8 2005/01/01 11:16:27 mw Exp $ } - -{ TTY Interface } - -const cm = false; - -procedure cm_w(const s:string); -begin - if cm then write(s) - else write(s); -end; - -procedure cm_wln; -const lines : byte = 1; -{var dummy : char; } -begin - if cm then begin - writeln; - inc(lines); - if lines=screenlines then begin - if moremode then begin - cm_w('<more>'); -{ dummy:=}cm_key; - cm_w(#13+' '+#13); - end; - lines:=1; - end; - end - else - writeln; -end; - -procedure cm_wl(const s:string); -begin - cm_w(s); - cm_wln; -end; - -function cm_key:char; -begin - cm_key:=readkey; -end; - -procedure cm_rl(var s:string; maxlen:byte; dot:boolean; var brk:boolean); -var x,y : byte; - t : taste; -begin - x:=wherex; y:=wherey; - brk:=false; - repeat - wrt(x,y,s); - Wrt2(dup(maxlen-length(s), iifc(dot,'.',' ')) + dup(maxlen-length(s),#8)); - get(t,curon); - if (t=keybs) and (s<>'') then dellast(s) - else if (t>=' ') and (length(s)<maxlen) then s:=s+t; - until (t=keycr) or (t=keyesc) or (t=^X); - brk:=(t<>keycr); - s:=trim(s); - writeln; - cursor(curon); -end; - -{ - $Log: xp1cm.inc,v $ - Revision 1.8 2005/01/01 11:16:27 mw - MW: - Willkommen im Jahr 2005 - - Revision 1.7 2004/01/09 16:19:00 mw - MW: - Wir haben jetzt 2004!! - - Revision 1.6 2003/07/30 23:09:49 my - MY:- Source-Header auf "FreeXP" aktualisiert, einige Detailkorrekturen - an CVS-Logs vorgenommen und hier und da CVS-Loginfos implementiert. - -} Index: freexp/xpx.pas =================================================================== RCS file: /server/cvs/freexp/xpx.pas,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- freexp/xpx.pas 13 Nov 2005 10:06:00 -0000 1.32 +++ freexp/xpx.pas 14 Nov 2005 16:57:13 -0000 1.33 @@ -8,7 +8,7 @@ { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der } { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html. } { --------------------------------------------------------------- } -{ $Id: xpx.pas,v 1.32 2005/11/13 10:06:00 mw Exp $ } +{ $Id: xpx.pas,v 1.33 2005/11/14 16:57:13 mw Exp $ } { CrossPoint - First Unit } @@ -297,10 +297,10 @@ Halt(1); end; {$IFNDEF DPMI} { mit DPMI auch nicht } - { Bei integriertem OVR mⁿssen wir nicht testen !!} + { Bei integriertem OVR müssen wir nicht testen !!} { TestOVR; } OvrInit(Progname+'.exe'); - XPUnlock; + { XPUnlock; } { hat nicht den gewünschten Effekt gebracht } {Lightweight-Readpar} noovrbuf:=false; for i:=1 to paramcount do begin @@ -357,6 +357,10 @@ { $Log: xpx.pas,v $ + Revision 1.33 2005/11/14 16:57:13 mw + MW: - XPUnlock wird nicht mehr ausgeführt (da nicht es nicht + den gewünschten Effekt gebracht hat) + Revision 1.32 2005/11/13 10:06:00 mw MW: - Einbau der Möglichkeit die Programmdatei zu locken/unlocken. Index: freexp/doc/files.txt =================================================================== RCS file: /server/cvs/freexp/doc/files.txt,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- freexp/doc/files.txt 25 Oct 2005 12:08:51 -0000 1.16 +++ freexp/doc/files.txt 14 Nov 2005 17:13:19 -0000 1.17 @@ -44,7 +44,6 @@ montage.pas Datumsfunktionen mouse.pas Auswertung von Maus-Interrupts (INT 33) ndiff.pas Nodelist-Differ (NDIFF.EXE) -ntfont.pas Experimentelle Unit (inaktiv) overxms.asm Overlay im XMS overxms.obj Overlay im XMS overxms.pas Overlay im XMS @@ -79,7 +78,6 @@ xp10.inc Timinglisten, Tastenmakros, Gebuehrenzonen etc. xp10.pas Timinglisten, Tastenmakros, Gebuehrenzonen etc. xp10p.inc Timinglisten, Tastenmakros, Gebuehrenzonen etc. -xp1cm.inc ein ueberfluessiges Relikt xp1help.pas Online-Hilfe aufrufen xp1input.pas diverse Eingaberoutinen xp1menu.inc Menuefunktionen Index: freexp/doc/snapshot.dq =================================================================== RCS file: /server/cvs/freexp/doc/snapshot.dq,v retrieving revision 1.58 retrieving revision 1.59 diff -u -r1.58 -r1.59 --- freexp/doc/snapshot.dq 13 Nov 2005 10:11:09 -0000 1.58 +++ freexp/doc/snapshot.dq 14 Nov 2005 17:04:11 -0000 1.59 @@ -268,9 +268,9 @@ % % -%Snapshot vom 13.11.2005, 11:15 Uhr +%Snapshot vom xx.xx.200x, xx:xx Uhr %---------------------------------- -A. Snapshot vom 13.11.2005, 11:15 Uhr +A. Snapshot vom xx.xx.200x, xx:xx Uhr --------------------------------------- ■ 13.11.2005 ------------- @@ -283,3 +283,10 @@ wird die Programmdatei jetzt entsperrt. fileio.pas, xpx.pas +■ 14.11.2005 +------------- + +MW: +%# Deaktivieren des Entsperren, da ohne sinnbaren Erfolg +- Deaktivieren des Entsperren, da ohne sinnbaren Erfolg + xpx.pas
------------------------------------------------------------------------ FreeXP CVS-Mailingliste CVS-List@freexp.de http://www.freexp.de/cgi-bin/mailman/listinfo/cvs-list