Hollosi Information eXchange /HIX/
HIX CODER 343
Copyright (C) HIX
1999-01-18
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: BPascal + sok-sok file (mind)  26 sor     (cikkei)
2 SVGA (mind)  12 sor     (cikkei)
3 VESA banklapozas (mind)  10 sor     (cikkei)
4 Re: *** HIX CODER *** #340 -->Mc (mind)  35 sor     (cikkei)
5 Re: *** HIX CODER *** #340 -->Mc (mind)  19 sor     (cikkei)
6 sok sok file megnyitasa -> megoldas (mind)  144 sor     (cikkei)

+ - Re: BPascal + sok-sok file (mind) VÁLASZ  Feladó: (cikkei)

Hi All!

> Tovabbi otletek? vagy tudja valaki, hogy pontosan mi a 67(hex) dos
> megszakitas; ill. mit lehet win alatt hasznalni helyette?

Az alabbi reszt a DOS titkai cimu konyvbol idezem:
"67h szolgaltatas: a file-kezelo szamanak beallitasa
meghivasa: ax=6700h
                 bx=file-kezelok megkivant maximalis szama (max.255)
visszateres: cf=1 hiba eseten, kulonben 0
                 ax=dos hibakod.
Az egyidoben nyitvatarthato allomanyok szamat allithatjuk be ezzel a 
szolgaltatassal a DOS 3.30 valtozatatol kezdodoen. Ha a BX 
regiszterbe 20-nal nem nagyobb szamot adunk meg, a szolgaltatas 
hatastalan.
A DOS 3.30 alatt kisse hibas a szolgaltatas mukodese: paratlan szamu 
file-kezelo szukseges ahhoz, hogy egy teljes 64K-s memorialapot 
foglaljon el a file-kezelo tabla.
Kapcsolodo szolgaltatasok: int 21h/AH=26h"
Ennyi az idezet. Velemenyem szerint muxenie kell Windfos 95 es 98 
alatt is, ugyanis ez egy dokumentalt DOS szolgaltatas. A dokumentalt 
szolgaltatasok pedig a kompatibilitas megorzese erdekeben az uj DOS 
valtozatokban is megmaradnak.

udv:
-- Jakab Andras --
+ - SVGA (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Ha esetleg van valakinek a Vesa alapú Pascal rutinjai, és el tudná nekem
küldeni, esetleg felkommentezve, azt nagyon megköszönném!
Esetleg ha van valamilyen olyan rutin, hogy betöltök egy képet, azzal van
valamilyen effekt. 
_És ami nagyon fontos lenne: egy kép beszúrása adott helyre.
(Pl.: egy pcx betöltése a 45,55 koordinátára)

Előre is köszönöm! (magánba)

                                         Rasc@l
+ - VESA banklapozas (mind) VÁLASZ  Feladó: (cikkei)

Hali!

Tudja vki hogy lehet VESA-t tamogato videokartyakon bankot lapozni?
Egy leirasban azt talaltam, hogy INT 0x10 AH:0x4f AL:5 funkcioval
lehet BL -ben megadott szamu kepernyoablak cimet DX -re allitani,
de no effect!
Esetleg meg tudna mondani valaki, hogy mi ez?
Koszi.

JimBoo
+ - Re: *** HIX CODER *** #340 -->Mc (mind) VÁLASZ  Feladó: (cikkei)

Hi inet,"HIX CODER" >!

iC> Figyelem, szornyen bonyolult asm feladvany kovetkezik.
iC> Minel gyorsabbnak kellene lennie az alabbi muveletnek:
iC> ax regiszter tartalmat ossze kell hasonlitani egy
iC> memoriabeli szammal, es ha egyenloek, akkor ax legyen 1,
iC> egyebkent 0.
iC> Van valami frappans otletetek ?
feletteb 1xu a +oldas, csak eppen 386+ kell hozza...

                        | 386 | 486 |586;)|  386+ kell a setz miatt;)
------------------------|-----|-----|-----|
sub ax,[valami]         |  ?  |  ?  |  ?  |
setz al                 |  4  | 4/3 | 1/2 |
mov ah,0                |  2  |  1  |  1  |
------------------------|-----|-----|-----|
                        |  6  | 5/4 | 2/3 |

                        | 386 | 486 |586;)|
------------------------|-----|-----|-----|
sub ax,[valami]         |  ?  |  ?  |  ?  |   8086 kompo;))))
mov ax,1                |  2  |  1  |  1  |   optimal6od a dolgot,
jz short j1             | 3/7 | 1/3 |  1  |   hogy jz/jnz attol fuggoen,
mov al,0                |  2  |  1  |  1  |   hogy mejikkel ugrik
j1:                     |     |     |     |   kevesebbszer...;))))
------------------------|-----|-----|-----|
                        | 7/11| 3/5 |  3  |

az Lso sor mindenhol sub /aminek vegulis a teszt szem.tyabol tok
mind1 az ideje, de raadasul a prefixxektol es a [x] erteketol is
valtozik.... sza'l sub, de lehet cmp is, mer' a doxxok
szerint ugyanannyi idot vesz igenybe... /de en aze' amikor
csak lehet, subot hasznalok.. hiszek benne, hogy gyorsabb;)))

Mc
+ - Re: *** HIX CODER *** #340 -->Mc (mind) VÁLASZ  Feladó: (cikkei)

Hi inet,"HIX CODER" >!

>config.sys-be, max 80 nyitott file:
>
>FILES=80
iC> Hat nemtudom, lehet hogy tevedek vagy elneztem valamit
iC> (mivel eleg sokan irtatok ezt a megoldast), de ez a megoldas
iC> NEM JO!
iC> Ezzel is csak max 15 filet lehet megnyitni, (TP6.0 eseten
iC> ebbol a fordito rogton lefoglal 3-at, tp7.0 eseten meg asszem
iC> 1-et). Ez nem csak a Dostol fugg, hanem a TPascaltol is!
iC> Probaljatok ki!
igen, ez igy telleg nem koser... de mar irtam
neked egy levelet, amiben van egy fcb alapu file
kezeo unit.... ezzel menni fog vegulis vegtelen
szamu file +nyitasa, csak egy kicsit eszen kell
lenni a proggyzasnal.... na csao....

Mc
+ - sok sok file megnyitasa -> megoldas (mind) VÁLASZ  Feladó: (cikkei)

Hi

Ime a megoldas, talaltam egy regi forrast: (Bar en is irtam
hasonlot, de az nincs ennyire kommentezve :)

extend   pas|     2820|10-06-96| 3:19p

<--- CUT --->

{
MARK LEWIS

> The problem is that Without allocating a new FCB For Dos, you
> can't have more than 15 or so Files open at a time in TP, no
> matter WHAT the CONFIG.SYS FileS= statement says.  (By
default,

i cannot remember exactly what INT $21 Function $6700 is but
here's a PD Unit
i got from borland's bbs the other day... i've trimmed the Text
down for
posting... if anyone Really needs everything that comes With it,
they should
look For EXTend6.*
}

Unit Extend;
{ This extends the number of File handles from 20 to 255 }
{ Dos requires 5 For itself. Applications can use up to 250 }

Interface

Implementation
Uses
  Dos;

Const
  Handles = 255;
  { You can reduce the value passed to Handles if fewer Files
are required. }

Var
  Reg : Registers;
  begin
  { Check the Dos Version - This technique only works For Dos
3.0 or later }
  Reg.ah := $30;
  MsDos(Reg);
  if Reg.al<3 then
  begin
    Writeln('Extend Unit Require Dos 3.0 or greater');
    halt(1);
  end;

  {Reset the FreePtr - This reduces the heap space used by Turbo
Pascal}
  if HeapOrg <> HeapPtr then
  {Checks to see if the Heap is empty}
  begin
    Write('Heap must be empty before Extend Unit initializes');
    Writeln;
    halt(1);
  end;
  Heapend := ptr(Seg(Heapend^) - (Handles div 8 + 1),
Ofs(Heapend^));

  {Determine how much memory is allocated to Program}
  {Reg.Bx will return how many paraGraphs used by Program}
  Reg.ah := $4A;
  Reg.es := PrefixSeg;
  Reg.bx := $FFFF;
  msDos(Reg);

  {Set the Program size to the allow For new handles}
  Reg.ah := $4A;
  Reg.es := PrefixSeg;
  Reg.bx := reg.bx - (Handles div 8 + 1);
  msDos(Reg);

  {Error when a Block Size is not appropriate}
  if (Reg.flags and 1) = 1 then
  begin
    Writeln('Runtime Error ', Reg.ax, ' in Extend.');
    halt(1);
  end;

  {Allocate Space For Additional Handles}
  reg.ah := $67;
  reg.bx := Handles;
  MsDos(reg);
end.

{
Write the following Program to a separate File. This Program
tests the EXTend
Unit. This test should be done on systems equipped With a hard
disk.
}

Program TestEx;

Uses
  EXTend;

Type
  FileArray = Array [1..250] of Text;

Var
  f : ^FileArray;
  i : Integer;
  s : String;

.

<--- CUT --->

Udv,
Karpati Attila

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS