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
|
|