pascal.104bigbrada,
-> #97, drpr> veliki problem o kome smo pricali vec u ovoj conf. Uniti nisu
> kompatibilni u raznim verzijama nadajmo se da je samo u
> hederima :(
>
> cope
Dzabe se nadas... Probal sam da stavim drugi heder, i pogodi
sta se desilo :((((( NE radi:((((
BIG
pascal.105bole,
E ovako:
Kako da saljem nesto na modem ali da radi na comu 3 i 4
recimo
budem na sezamu, pa udjem u dos pa pustim program a on na modem posalje recimo
OVDE BOLE
hvala u napred
ps. uzeo sam onaj pcl4p i nema pomoci :)
pascal.106niklaus,
-> #100, bulaja > ││ili cu moram da listam one silne dokumentacije o UNIT strukturi.
> │└───
> │ Da li se nekako moze doci do te dokumentacije.
> └────
> R:ĐIBMPCĐPASCALĐ*.*
> ----------------------
> twu1 zip 151084 Objasnjenje strukture TPU datoteka (TP 6.0,
> TPW 1.0)
Još samo da doživim i pojašnjenje strukture ... za BP 7.0...
(;niklaus;)
pascal.107dcolak,
-> #105, bole│ ps. uzeo sam onaj pcl4p i nema pomoci :)
Kako bre nema pomoći, evo ja napisah chat door a ti...
So, zar ne radi Sioputc() ?
Da li si uradio prvo SioReset(COM4, -1) ?
-1 za preuzimanje porta (mada radi i sa Baud9600) ?
Ne odustaj može! :)
Sledge DAMMIR!
pascal.108valhala,
-> #85, sbrk>###### Jer stay42.arc nam je neko vec nabavio.
Ovo bi me interesovalo. Gde?
Val.
pascal.109pedjak,
-> #102, ssokorac> Može, šaljem. Problem je što se tako dobija zavisnost od Novella pa
> program ne radi na jednom compu u DV-u, recimo... Zato sam, pre nego
> što sam to završio ipak pisao komunikaciju pomoću fajlovanja,
> lokovanja :), šerovanja i sl. :)
žek, ček... nije mi sad nešto jasno. Jel' ti imaš rutine razvijene
u paskalu za zaključavanje fajlova, podelu pristupa i sl. ? Ako
imaš, daj nabaci ideju kako je to uradjeno. Pozivaš DOSove funkcije
?
pascal.110mmile,
-> #105, bole│ Kako da saljem nesto na modem ali da radi na comu 3 i 4
└─────────
Nabavi program ADDPORT ili ADD34 ili sl. i staruj ga.
Zatim iz dosa uradis echo OVDE BOLE >COM3.Jedini problem
je sto na adrese 0:404h i 0:406h treba upisati adrese kom.
portova kako bi BIOS bio u stanju da koristi com 3 i 4 a to
rade gore navedeni programi.
pascal.111bearboy,
Jel' iko video DOBRE rutine za komunikaciju sa kom. portovima za paskal ?
(tu ne računam ASYNC, pošto njegove rutine nisu dobre :).
PS. Sors po ISO-u u prednosti !
pascal.112peca.st,
-> #102, ssokorac!-> Može, šaljem. Problem je što se tako
!-> dobija zavisnost od Novella pa program ne
!-> radi na jednom compu u DV-u, recimo...
!-> Zato sam, pre nego što sam to završio
!-> ipak pisao komunikaciju pomoću
!-> fajlovanja, lokovanja :), šerovanja i sl.
!-> :)
SSovac, jel onda ono što si ti meni napričao
u stvari rađeno bez Novella?
Hoćeš da kažeš da si ti išao MNOGO komplikovanijim
putem? (s tim što dobijaš nezavisnost od novella)
Peđa.
pascal.113sbrk,
-> #108, valhala>> >###### Jer stay42.arc nam je neko vec nabavio.
>>
>> Ovo bi me interesovalo. Gde?
..co jo 21 (pc.prog)
..co li /a /t
i dobijes:
>> 4.562 ->560 pascal mensi 07.07.92. 16:16 stay42.arc
OK?
pascal.114bole,
-> #105, boleE otkrio sam otkriveno :)
Pokusao sam da otvorim COM2 (umesto com4(jel sa com4 nece da radi))
kao fajl sa append i onda uzem WRITELN (F,'CAO'); i ispise se cao na modm!
pascal.115ssokorac,
-> #109, pedjak ─┼┤ žek, ček... nije mi sad nešto jasno. Jel' ti imaš rutine razvijene
─┼┤ u paskalu za zaključavanje fajlova, podelu pristupa i sl. ? Ako
Pa, u INTER33 postoje svi potrebni interapti i opisi za zaključavanje i
podelu pristupa... Samo pozoveš šta ti treba :).
pascal.116ilazarevic,
Jedno pitanje: kako da postignem da TSR program zauzme što manje memorije? :)
Naime, ja sam seo i napisao jedno programče (probe radi) koje očitava miša,
te prepoznaje koji je taster pritisnut. To i nije bog zna šta, ali je program
(TP 6.0) zauzeo čitavih 13 K! Ima li rešenja, sem da pređem na asembler?
pascal.117isekulovic,
-> #108, valhala>> Ovo bi me interesovalo. Gde?
Pc.prog: 8.562 by mensi.
pascal.118eagle,
Kako se u paskalu presreću prekidi od 10h pa naviše (konkretno 13h) ?
Ili: kako ispravno napisati interapt proceduru, u kojoj se poziva stara
procedura kojoj je važan sadržaj registara ?
pascal.119predragd,
-> #100, bulaja> twu1 zip 151084 Objasnjenje strukture TPU datoteka
> (TP 6.0, TPW 1.0)
To je na žalost opis struktura za TPU9 (TP 6.0). Kada bi još
imali opis nekde druge strukture, pa da pišemo konverter.
Peđa.
pascal.120ssokorac,
-> #112, peca.st ─┼┤ Hoćeš da kažeš da si ti išao MNOGO komplikovanijim
─┼┤ putem? (s tim što dobijaš nezavisnost od novella)
Ako to zoveš mnogo komplikovanijim, onda jesam :).
pascal.121bole,
Ljudi ocu da neki fajl recimo duzine 100 linija ucitam u 100 stringova
(a[1]..a[100])
ali da mogu da recimo a[2] pristupim trecem slovu a[2][3] (recimo) ali
me zeza zato jel kaze kada napisem type a=array [1..100,1..80] of string
STRUCTURE TO LARGE. tj. (tako sam ja shvatio) string moze do 255 a 100*80>255
e sad moze to da se uradi sa charom ali je mnogo teze i nije mi bas jasno, pa
nek neka dobra dusa mi malo razjasni!
pascal.122eagle,
-> #121, bole> Ljudi ocu da neki fajl recimo duzine 100 linija ucitam u 100
> stringova (aŠ1Ć..aŠ100Ć)
> ali da mogu da recimo aŠ2Ć pristupim trecem slovu aŠ2ĆŠ3Ć
> (recimo) ali me zeza zato jel kaze kada napisem type a=array
> Š1..100,1..80Ć of string STRUCTURE TO LARGE. tj. (tako sam ja
> shvatio) string moze do 255 a 100*80>255
String je sam po sebi niz od 256 bajtova , pa si ovako definisao strukturu
(trodimenzionalni niz) veličine oko 2Mb (!!).
Treba da stoji a=arrayŠ1..100Ć of stringŠ80Ć , gde je 80 maksimalna
dužina stringa.
pascal.123draganm,
-> #111, bearboy*> Jel' iko video DOBRE rutine za komunikaciju sa kom. portovima
*> za paskal ? (tu ne racunam ASYNC, posto njegove rutine nisu
*> dobre :).
Ja sam video DOBRE rutine, ali nisu u obliku sorce-a nego se dobijaju
kao TPU ... inace radi se o BBSKIT-u ... u unitu imas sve sto ti treba,
ukljucujuci Y i X modem protokole.
-=>Phantom Lord<=-/.CoRRoSioN.
pascal.124draganm,
-> #116, ilazarevic*> Jedno pitanje: kako da postignem da TSR program zauzme sto
*> manje memorije? :) Naime, ja sam seo i napisao jedno programce
*> (probe radi) koje ocitava misa, te prepoznaje koji je taster
*> pritisnut. To i nije bog zna sta, ali je program (TP 6.0)
*> zauzeo citavih 13 K! Ima li resenja, sem da predem na
*> asembler?
Najjednostavnije resenje je da predjes na asembler.
-=>Phantom Lord<=-/.CoRRoSioN.
pascal.125ilazarevic,
-> #124, draganm> Najjednostavnije resenje je da predjes na asembler.
Što će reći, sedi i uči :) Moraću, sve mi se čini...
pascal.126peca.st,
-> #121, bole!-> ali da mogu da recimo aŠ2Ć pristupim
!-> trecem slovu aŠ2ĆŠ3Ć (recimo) ali me zeza
!-> zato jel kaze kada napisem type a=array
!-> Š1..100,1..80Ć of string STRUCTURE TO
!-> LARGE. tj. (tako sam ja shvatio) string
!-> moze do 255 a 100*80>255 e sad moze to da
!-> se uradi sa charom ali je mnogo teze i
!-> nije mi bas jasno, pa nek neka dobra dusa
!-> mi malo razjasni!
To definišeš ovako
type
trtmrt = array Š1..100Ć of stringŠ80Ć; (sori na yuscii)
Ovo što si napisao "100*80>255 itd..." nema veze sa ovom porukom.
Ovu poruku ti prijavljuje zato što si ti, ovako kako si definisao
napravio 100*80=8000 stringova default dužine - znače dužine 255.
To je onda 256*8000 = 2 048 000 karaktera što daleeeeeeeeeeko prelazi
dozvoljenu strukturu od 64K. Osim toga, ovako kako si definisao ne bi
dobio ono što si hteo, jer bi dobio 100*80 stringova, a ne 100 stringova
dužine 80.
Valjda je jasno?
Peđa.
pascal.127ssokorac,
-> #121, bole ─┼┤ ali da mogu da recimo aŠ2Ć pristupim trecem slovu aŠ2ĆŠ3Ć (recimo) ali
─┼┤ me zeza zato jel kaze kada napisem type a=array Š1..100,1..80Ć of
─┼┤ string
Samo deklariši kao
type a=arrayŠ1..100Ć of stringŠ80Ć, ili
type a=arrayŠ1..100,1..80Ć of char
ŠĆ su srednje zagrade.
Bolja je prva varijanta jer možeš da pišeš aŠ2ĆŠ3Ć a i writeln(aŠ2Ć), dok
u drugoj ne možeš...
pascal.128snemcev,
-> #122, eagle>> Treba da stoji a=array[1..100] of string[80] , gde je 80 maksimalna
>> dužina stringa.
Nisam siguran dal' će Pascal to da proguta, možda ćeš morati prvo da
definišeš nov tip string[80] pa onda da staviš array[...] of taj_nov_tip.
pascal.129djelovic,
-> #124, draganm> Najjednostavnije resenje je da predjes na asembler.
Nije valjda da nemate nikakav TSR unit koji swap-uje veći deo
programa u EMS ili na disk? Mislim da će mu se prelazak na C++ isplatiti
više od prelaska na assembler :-).
pascal.130eagle,
-> #128, snemcev>>> Treba da stoji a=arrayŠ1..100Ć of stringŠ80Ć , gde je 80
>>> maksimalna dužina stringa.
> Nisam siguran dal' će Pascal to da proguta, možda ćeš morati
> prvo da definišeš nov tip stringŠ80Ć pa onda da staviš
> arrayŠ...Ć of taj_nov_tip.
Progutaće, kao što bi progutao tip=arrayŠ..Ć of arrayŠ..Ć of ...itd
pascal.131v.nesic,
-> #128, snemcev> Nisam siguran dal' će Pascal to da proguta, možda ćeš morati prvo da
> definišeš nov tip string[80] pa onda da staviš array[...] of taj_nov_tip.
Turbo paskal to guta još u onoj verziji koja radi na Tim 011.
pascal.132pedjak,
-> #116, ilazarevic> Jedno pitanje: kako da postignem da TSR program zauzme što manje
> memorije? :) Naime, ja sam seo i napisao jedno programče (probe
> radi) koje očitava miša, te prepoznaje koji je taster pritisnut. To
> i nije bog zna šta, ali je program (TP 6.0) zauzeo čitavih 13 K! Ima
> li rešenja, sem da pređem na asembler?
Ako već nisi, smanji stek na minimum i ukini korišćenje dinamičke
memorije, ukini proveru steka, uopšte sve provere, to bi trebalo da
malo smanji kod. Za neke veće uštede moraš uzeti asembler u ruke :)
pascal.133bearboy,
-> #114, bole> E otkrio sam otkriveno :)
>
> Pokusao sam da otvorim COM2 (umesto com4(jel sa com4 nece da
> radi)) kao fajl sa append i onda uzem WRITELN (F,'CAO'); i
> ispise se cao na modm!
Pokušaj da ispišeš nešto dugačko 5-6K.
pascal.134niklaus,
-> #129, djelovic > Nije valjda da nemate nikakav TSR unit koji swap-uje veći deo
> programa u EMS ili na disk? Mislim da će mu se prelazak na C++
> isplatiti više od prelaska na assembler :-).
Od drugara sam saznao za neku šemu povezivanja C (++) sa
TP-om. Tačnije, to je valjda podržano nekim bibliotekicama i primerima
pride... Dobra alternativa za lenje kojima se ne uči (buba) nova
sintaksa. Ovo ću da izvidim kako šljaka...
Druga alternativa (koju ja donekle, u posebnim prilikama,
primenjujem) je linkovanje C .OBJ (hi .obj) datoteka u pascal programe.
Ovu drugo svakako valja isprobati...
(:niklaus:)
pascal.135ilazarevic,
-> #132, pedjak> Ako već nisi, smanji stek na minimum i ukini korišćenje dinamičke
> memorije, ukini proveru steka, uopšte sve provere, to bi trebalo da
Sve ovo uradim, naravno :) Stek stavim na kilobajt, ali čini mi se da može i
manje. Izgleda da mi može pomoći samo asembler.
pascal.136draganm,
-> #125, ilazarevic*> Sto ce reci, sedi i uci :) Moracu, sve mi se cini...
Pa ako znas asm za neki drugi procesor (recimo MC 68000) to ne bi
trebao da bude neki problem, jedini problem je sto kad predjes sa motorole
na intel osecas se ko da si presao sa konja na magarca. :(
-=>Phantom Lord<=-/.CoRRoSioN.
pascal.137mmile,
-> #133, bearboy│ > Pokusao sam da otvorim COM2 (umesto com4(jel sa com4 nece da
│ > radi)) kao fajl sa append i onda uzem WRITELN (F,'CAO'); i
│ > ispise se cao na modm!
│
│ Pokušaj da ispišeš nešto dugačko 5-6K.
└───────────
Radio sam neki com program i u njemu stavio mogucnost izlaska u dos
tj. covek koji pozove izadje u dos na racunaru koji je zvao i onda
tu nesto radi.To sam uradio sa exec('COMMAND <COM1 >COM1 ') ali se
posle dva-tri minuta rada obavezno zaglavljivalo.Zasto ?
pascal.138sbrk,
-> #137, mmile>> To sam uradio sa exec('COMMAND <COM1 >COM1 ') ali se
>> posle dva-tri minuta rada obavezno zaglavljivalo.Zasto ?
Proveri da se nije prepunio buffer modema.
pascal.139ilazarevic,
-> #136, draganm> Pa ako znas asm za neki drugi procesor (recimo MC 68000) to ne bi
Ne znam nikakav asm :(
pascal.140broker,
-> #102, ssokorac> Može, šaljem. Problem je što se tako dobija zavisnost od
> Novella pa program ne radi na jednom compu u DV-u,
> recimo... Zato sam, pre nego što sam to završio ipak pisao
> komunikaciju pomoću fajlovanja, lokovanja :), šerovanja i
> sl. :)
To me i zanima, kako si rešio problem rada pod Novell,
DeskView-om i slicnim situacijama...
broker
pascal.141bearboy,
-> #123, draganm> Ja sam video DOBRE rutine, ali nisu u obliku sorce-a nego se
> dobijaju kao TPU ... inace radi se o BBSKIT-u ... u unitu imas
> sve sto ti treba,
TPU... Bljaaaah :) Apsolutno nekorisno :( Da napomenem, meni trebaju samo
OSNOVNE rutine (ono što imaju fosili, ništa više).
pascal.142ssokorac,
-> #140, broker ─┼┤ To me i zanima, kako si rešio problem rada pod Novell,
─┼┤ DeskView-om i slicnim situacijama...
Pa, toga nema u primerima. Radiš dosta jednostavno - otvoriš fajl sa
odgovarajućim parametrima (za čitanje, pisanje, čitanje/pisanje, pristup
ostalih svemu, pristup čitanju, pristu pisanju, nikakav pristup i sl.),
kada pišeš nešto u fajl lokuješ taj deo fajla, kada završiš odlokuješ i sl.
Ipak, ja nisam neko ko bi o tome mogao mnogo da priča, ovde sigurno ima
mnogo više ljudi koji to znaju mnogo, mnogo bolje od mene :).
pascal.143niklaus,
-> #141, bearboy > TPU... Bljaaaah :) Apsolutno nekorisno :( Da napomenem, meni
> trebaju samo OSNOVNE rutine (ono što imaju fosili, ništa više).
Ako te zanimaju samo source-ovi XModem-a i YModem-a imam ih!
Za ZModem source si verovatno načuo (u C++ obliku) -imam i to,
međutim malo je teorije po kojoj bi je prebacio u TP formu.
(:niklaus:)
pascal.144draganm,
-> #137, mmile*> tu nesto radi.To sam uradio sa exec('COMMAND <COM1 >COM1 ')
*> ali se
Dovoljno je da stavis exec(getenv('comspec'),'com1') i sve bi trebalo
da radi ok ...
-=>Phantom Lord<=-/.CoRRoSioN.
pascal.145draganm,
-> #143, niklaus*> Ako te zanimaju samo source-ovi XModem-a i YModem-a imam ih!
*> Za ZModem source si verovatno nacuo (u C++ obliku) -imam i to,
*> medutim malo je teorije po kojoj bi je prebacio u TP formu.
Ima li neko DETALJAN opis zmodema ? Ako ima dobrovoljno se javljam da
napisem zmodem u pascalu.
-=>Phantom Lord<=-/.CoRRoSioN.
pascal.146broker,
-> #142, ssokorac> Pa, toga nema u primerima. Radiš dosta jednostavno -
> otvoriš fajl sa odgovarajućim parametrima (za čitanje,
> pisanje, čitanje/pisanje, pristup ostalih svemu, pristup
> čitanju, pristu pisanju, nikakav pristup i sl.), kada
> pišeš nešto u fajl lokuješ taj deo fajla, kada završiš
> odlokuješ i sl. Ipak, ja nisam neko ko bi o tome mogao
> mnogo da priča, ovde sigurno ima mnogo više ljudi koji to
> znaju mnogo, mnogo bolje od mene :).
Znaci dovoljno je voditi računa? Samo da što manje držim otvorene
datoteke i da obavezno zaključavam slog kad ga menjam? To je Ok.
Ali pod DeskView-om ima i drugih problema, ne samo sa datotekama,
tu je tastatura, ekran i ostale sitnice...
Što se tiče onih koji mnogo više znaju, ja ih ne računam dok se
ne jave. Trenutno si se samo ti javio da nešto znaš o ovim
stvarima, i kao takav, trenutno najviše znaš :)
broker
pascal.147ssokorac,
-> #146, broker ─┼┤ Ali pod DeskView-om ima i drugih problema, ne samo sa datotekama,
─┼┤ tu je tastatura, ekran i ostale sitnice...
Što se tiče ekrana - ne diraj gotoxy i slične :). Isključivo ANSI, i
sve će raditi ok. Tastatura? U čemu je tu problem? Onaj prozor koji je
aktivan će dobijati taster od DV-a a ostale baš briga :). Valjda :). Nisam
probao da chatujem sa nekim iz DV-a :).
─┼┤ ne jave. Trenutno si se samo ti javio da nešto znaš o ovim
─┼┤ stvarima, i kao takav, trenutno najviše znaš :)
Ok, ali to je nešto-ništa (citat geografičarke iz oš kada nemaš pojma
posle odgovaranja:).
pascal.148bearboy,
-> #143, niklaus> > TPU... Bljaaaah :) Apsolutno nekorisno :( Da napomenem, meni
> > trebaju samo OSNOVNE rutine (ono što imaju fosili, ništa
> više).
>
> Ako te zanimaju samo source-ovi XModem-a i YModem-a imam ih!
> Za ZModem source si verovatno načuo (u C++ obliku) -imam i to,
> međutim malo je teorije po kojoj bi je prebacio u TP formu.
Fosili nemaju stvarčice kao što su XYZmodem :) X i Y me ne interesuju, al'
onaj Z bih voleo da pogledam. Koja je verzija ?
pascal.150v.nesic,
-> #146, broker> Ali pod DeskView-om ima i drugih problema, ne samo sa datotekama,
> tu je tastatura, ekran i ostale sitnice...
Pod DeskView-om nema nikakvih problema. Ti program najnormalnije pišeš
kao za DOS, o ostalom brine DV. Kako bi inače radila gomila programa
koja nije predviđena za njega? Jedino što stvarno može da napravi problem
su duplo otvoreni fajlovi i programi pisani da preuzimaju delove sistema.
pascal.151v.nesic,
-> #145, draganm> Ima li neko DETALJAN opis zmodema ? Ako ima dobrovoljno se javljam da
> napisem zmodem u pascalu.
Pogledaj u R:\COM\ZMODEMC.ZIP, tamo bi trebalo da ima.
pascal.153niklaus,
-> #147, ssokorac > aktivan će dobijati taster od DV-a a ostale baš briga :). Valjda
> :). Nisam probao da chatujem sa nekim iz DV-a :).
Ne bi trebalo da ima problema. Jedino što valja default-ovati
pri takvim radnjama je smanjiti tick-ove za prioritete (tako da odnos
fore:bckground bude isti). Poznati su već prijavljivani problemi sa
ZModemom pod DV-om.
(Inače, radim pod DV/X-om, a ne DV, gde je problem i pretvaranje
text-a u GUI prozore)
(:niklaus:)
pascal.152niklaus,
-> #145, draganm >*> Za ZModem source si verovatno nacuo (u C++ obliku) -imam i to,
>*> medutim malo je teorije po kojoj bi je prebacio u TP formu.
>
> Ima li neko DETALJAN opis zmodema ? Ako ima dobrovoljno se javljam
> da napisem zmodem u pascalu.
žini mi se da nemam takvo nešto, ali se dobrovoljno javljam da
dešifrujem _ono_ u C++ obliku (uz pomoć, naravno).
(:niklaus:)
pascal.154zdule,
-> #153, niklaus╠═══ fore:bckground bude isti). Poznati su već prijavljivani
╠═══ problemi sa ZModemom pod DV-om.
Koji su to problemi ? Ja radim na 286 :( sa GSZ-om pod Dv-om
i nikada nije zezao.
ZDule...
pascal.156broker,
-> #150, v.nesic>> Ali pod DeskView-om ima i drugih problema, ne samo sa
>> datotekama, tu je tastatura, ekran i ostale sitnice...
>
> Pod DeskView-om nema nikakvih problema. Ti program
> najnormalnije pišeš kao za DOS, o ostalom brine DV. Kako
> bi inače radila gomila programa koja nije predviđena za
> njega? Jedino što stvarno može da napravi problem su duplo
> otvoreni fajlovi i programi pisani da preuzimaju delove
> sistema.
ne treba da naravim program koji će eto da radi i pod DV-om,
već koji će pouzdano da radi. Iz dokumentcije za X00 sam
video da DV ume da napravi probleme kod preuzimanja
interapta, pa onda, šta ako aplikacija stoji i ne radi ništa
pametno? Zašto bi i dalje oduzimala silno vreme DV-u? Sigurno
ima metod da se to oslobodi.
broker
pascal.155broker,
-> #147, ssokorac> ─┼┤ Ali pod DeskView-om ima i drugih problema, ne samo sa
> datotekama, ─┼┤ tu je tastatura, ekran i ostale sitnice...
>
> Što se tiče ekrana - ne diraj gotoxy i slične :).
> Isključivo ANSI, i sve će raditi ok. Tastatura? U čemu je
> tu problem? Onaj prozor koji je aktivan će dobijati taster
> od DV-a a ostale baš briga :). Valjda :). Nisam probao da
> chatujem sa nekim iz DV-a :).
A pisanje na lokalni ekran. Neću valjda i to preko ANSI-ja?
A šta je sa time slicing-om? I oko toga treba voditi računa,
kad se radi pod DV-om.
broker
pascal.157broker,
Ima li neko TP source nekog arhivera? Nije bitno koji je i
kakav je (dobro de, ne treba da bude baš neki očajno loš).
broker
pascal.158v.nesic,
-> #156, broker> pametno? Zašto bi i dalje oduzimala silno vreme DV-u? Sigurno
> ima metod da se to oslobodi.
Univerzalni metod koji važi sa 99,9% multi taskera ja da izvršiš
HALT instrukciju mikroprocesora i čekaš da te pozove interapt za
tastaturu ili šta već čekaš da se odazove.
Naravno, za svaki postoji API koji pruža dodatne mogućnosti ali
je to retko kada vredno truda, pogotovo u našim uslovima.
BTW, gomila komercijanih programa koji recimo znaju da provale da
se nalaze pod DV-om to uopšte ne uzima u obzir da paralelno njima
radi još taskova. Šta više, ja još nisam naišao ni na jedan...
pascal.159bearboy,
-> #155, broker>> Što se tiče ekrana - ne diraj gotoxy i slične :).
> A pisanje na lokalni ekran. Neću valjda i to preko ANSI-ja?
Ne vidim razlog zašto bi radio preko ANSI-ja. DV presreće sve pozive, pa i
gotoxy, i uraki ih kako njemu odgovara.
pascal.160ssokorac,
-> #159, bearboy ─┼┤ Ne vidim razlog zašto bi radio preko ANSI-ja. DV presreće sve pozive,
─┼┤ pa i gotoxy, i uraki ih kako njemu odgovara.
Ok, onda piši gotoxy kada si u lokalu a ANSI kada šalješ remote ako ti je
zgodnije ;). Više volim da pišem samo ANSI pa da radi svuda :).
pascal.161broker,
-> #158, v.nesic>> pametno? Zašto bi i dalje oduzimala silno vreme DV-u?
>> Sigurno ima metod da se to oslobodi.
>
> Univerzalni metod koji važi sa 99,9% multi taskera ja da
> izvršiš HALT instrukciju mikroprocesora i čekaš da te
> pozove interapt za tastaturu ili šta već čekaš da se
> odazove.
Hvala, ovo je jos jedan trag za pipanje po mraku. :)
> BTW, gomila komercijanih programa koji recimo znaju da
> provale da se nalaze pod DV-om to uopšte ne uzima u obzir
> da paralelno njima radi još taskova. Šta više, ja još
> nisam naišao ni na jedan...
A kako program može da sazna da je pod DV-om?
RemoteAcess (BBS program) to radi. Kad čeka da se javi sledeći
korisnik prepusti vreme DV-u. Doduše, ne radi to zbog drugih
programa, već drugih nodova na istom BBS-u. :)
broker
pascal.162rcolic,
Vozdra. Ja reko da pitam neke stvarcice...
Elem, nabavih .TPU za sviranje ´╗Îmodula i sada se pitam nesto:
da li nekako mogu da preskocim pattern u modulu unapred ili unazad? nisam nasao
nijednu komandu te vrste u dokumentaciji a to mi je preko potrebno...
Zatim, interesuje me da li postoji neka naredba kojom bih mogao da promenim
video page ( u modu 320x200x256 ) radi animacije pojedinih sprajtova.
'vala unapred svakom ko mi da bilo kakvo resenje ovih problemcica...
Rcolic
pascal.163niklaus,
-> #148, bearboy > Fosili nemaju stvarčice kao što su XYZmodem :) X i Y me ne
> interesuju, al' onaj Z bih voleo da pogledam. Koja je verzija ?
Izvini da 'delayed' odgovoru (digitron mi je bio u out-u). ):
Kod ZModem-a (i komunikacionih protokola) važi pravilo
"verzija k'o verzija" , odn. nova verzija neće doneti ništra extra novo.
Tačnije, što se same komunikacije tiče - neće doneti NIŠTA novo, jer
kod kom. protokola ne važi logika kao kod, na primer, fajl-kompresora
gde nova varijanta donosi bolju kompresiju i ovo&ono (zajedno sa
vertikalnom kompaibilnošću). Dakle jedina poboljšanja su (možda) brže
pražnjenje bafera (brža obrada prispelih podataka), mada manje verovatno,
i eventualno neke manje-više suvišne stvari (prezentirane u vidu perve-
rzija) - ovde mi pade na pamet SuperZModem.
Ako te i dalje zanima koja je verzija u pitanju, možeš dl-nuti
odavdeN iz dira ('R:ĐIBMĐCOMĐZMODEMC.ZIP', ili '..ĐC') pa vidi...
(:niklaus:)
pascal.165niklaus,
-> #161, broker > A kako program može da sazna da je pod DV-om?
>
> RemoteAcess (BBS program) to radi. Kad čeka da se javi sledeći
Radi i ZBTET, naprimer. (:
Ako nemaš "DOS Refference" obavezno ga nabavi (tamo ćeš
na par mesta naći dosta stvari vezanih za DV/X, uključujući i
detekciju). Imao sam žlju da to ovde napišem, međutim nisam našao
jedan DOS program (odnosno za DV(/X) ) koji se buni ako nije
izvršen iz DV DOS prozora, a DOSRef nemam kod kuće.
(:niklaus:)
P.S. Inače 'jedan program' se zove CRON*.* i ima ga na FON (možda i
ovde, ali nisam siguran), a uz sebe ima source, doduše bez _tog_ vi-
talnog heder-fajla. Služi za inicijalizaciju više DV taskova
pozivanjem dotičnog programa iz DOS prozora (zanimljivo). Da bi ga
i mi (smrtnici) mogli nedostaju (barem meni) sledeće bibliotekice:
<tvapi.h> - po source-u ja bih ovo trebao da imam uz svoj
TC 2.0 (MS C).
"pif.h" - po mojoj proceni služi za rad sa DVP datotekama
(jer je moguće pozivanje programa i na osnovu
njihovog DesqView PIF-a)
"getopt.h" - pitaj Boga čemu služi
(možda je tu ono - int DVInit() iz koje
se vraća 0, ako se ne CRON poziva iz DV)
pascal.164niklaus,
-> #150, v.nesic > koja nije predviđena za njega? Jedino što stvarno može da napravi
> problem su duplo otvoreni fajlovi i programi pisani da preuzimaju
> delove sistema.
Za SHARING pod DV(/X)-om se ti uopšte ne moraš brinuti,
kao ni za ubrzavanje rada sa diskom i sličnih stvari, koje inače
dobijaš (doduše, u lošijem stanju) u obliku raznih DOS utility-ja.
(:niklaus:)
pascal.166djelovic,
-> #165, niklaus> <tvapi.h> - po source-u ja bih ovo trebao da imam uz svoj
> "pif.h" - po mojoj proceni služi za rad sa DVP datotekama
> "getopt.h" - pitaj Boga čemu služi
Ovo su include datoteke iz BC++ paketa.
pascal.167niklaus,
-> #165, niklaus > P.S. Inače 'jedan program' se zove CRON*.* i ima ga na FON (možda
Sad pogledah - zove se DVCRON21.ZIP. Obavezno ga snimi (probaj.
I source naravno - poučan je.
(:niklaus:)
P.S. Pogledao sam u svom spisku sa SEZAMovog dira i - nema ga.
Upućujem poziv bulaji... (:
pascal.168v.nesic,
-> #161, broker> A kako program može da sazna da je pod DV-om?
Preko nekog interapta, imaš u onom Ralf Braunovom spisku interapta
sve što može da ti zatreba samo je jako konfuzno. DV je uglavnom
pod 15h, ali pogledaj i ostale.
pascal.169v.nesic,
-> #164, niklaus> Za SHARING pod DV(/X)-om se ti uopšte ne moraš brinuti,
> kao ni za ubrzavanje rada sa diskom i sličnih stvari, koje inače
> dobijaš (doduše, u lošijem stanju) u obliku raznih DOS utility-ja.
Ako otvorim dva taska koja intenzivno menjaju jedan te isti fajl
koristeći interne bafere imam šta da brinem, a nemam više ničeg
korisnog u tom fajlu :(
pascal.170niklaus,
-> #166, djelovic >> <tvapi.h> - po source-u ja bih ovo trebao da imam uz svoj
>> "pif.h" - po mojoj proceni služi za rad sa DVP datotekama
>> "getopt.h" - pitaj Boga čemu služi
>
> Ovo su include datoteke iz BC++ paketa.
Sve tri? Šalji u mail, please (ako ne zahteva ++, kao što
ne bi trebalo).
(:niklaus:)
pascal.171niklaus,
-> #169, v.nesic > Ako otvorim dva taska koja intenzivno menjaju jedan te isti fajl
> koristeći interne bafere imam šta da brinem, a nemam više ničeg
> korisnog u tom fajlu :(
Pa ispričaj mi detalje - šta ti se dešava?
(:niklaus:)
pascal.172v.nesic,
-> #171, niklaus> Pa ispričaj mi detalje - šta ti se dešava?
Najbanalnije, uzmeš qedit i njime u dva različita taska otvoriš isti
fajl i menjaš ga, ali u jednom taku pišeš jedno, u drugom drugo.
Pošto qedit drži ceo tekst u memoriji na disku će ti promene koje su
uneo u tasku koji je poslednji zatvoren i to je najmanja šteta koja
može da ti se desi.
Da sada ne vadim programe iz malog mozga, razmisli šta se dešava kada
bi umesto qedita startovao neko čudo koje deo falja drži u memoriji,
pa kad ga obradi zapiše, pa malo produži fajl, pa ga malo skrati...
Ako programi ne rade zaključavanje slogova ili bar ekskluzivno
otvaranje fajlova koje menjaju možeš da ne bude ništa, da imaš
nekonzistentne podatke ili pogubljene klastere u najgoroj varijanti.
pascal.173pedjak,
-> #162, rcolic> Elem, nabavih .TPU za sviranje ´╗Îmodula i sada se pitam nesto:
Kako se zove taj TPU ?
pascal.174isekulovic,
-> #161, broker>> A kako program može da sazna da je pod DV-om?
Ima negde :) na sezamu unit mulaware, koji prepoznaje win,dv i
još ponešto. Ako se dobro sećam ima i sors.
pascal.175broker,
-> #165, niklaus> P.S. Inače 'jedan program' se zove CRON*.* i ima ga na FON
> (možda i ovde, ali nisam siguran), a uz sebe ima source,
> doduše bez _tog_ vi-
Potrazicu ga. Mnogo hvala. Konci se sve brze odmrsuju :)
broker
pascal.176broker,
Nekome sam obecao funkcije za formatiranje datuma i vremena za TP.
Evo, uz ovu poruku sam zakacio datoteku sa sorcetom Unit-a i malim
demoom.
Funkcije su vrlo zgodne jer omogućavaju da se datum i vreme ispišu u
proizvoljnom formatu. Jednostavno se u string stave makroi koji će
biti zamenjeni odgovarajućim podacima.
Nadam se da će nekome biti od koristi.
Pozdrav,
brokerč38:101/101%setnet.oreska
str100.zippascal.177niklaus,
-> #173, pedjak >> Elem, nabavih .TPU za sviranje ´╗Îmodula i sada se pitam nesto:
>
> Kako se zove taj TPU ?
U stvari je OBJ - dakle može i C i Pas. (:
Još ga nisam isprobao, ali to može samo ili da radi
(da peva) ili ne. (:
(:niklaus:)
pascal.178.ristan.,
-> #172, v.nesic Zdravo,
Evo i mog prvenca u Vašoj konferenciji. U multitasking operacionim
sistemima se za pristup svakog taska zajedničkim resursima koristi
tehnika semafora. Task koji prvi "uzme" npr. štampač ili file postavi
semafor ( crveno ) i kad mu više ne treba on ga vrati ( zeleno ). Za
to vreme ostali ( pa i oni VIŠEG prioriteta ) čekaju na red. Time se
postiže ekskluzivnost pristupa. Kako Vaš-Naš DOS nije napisan za takve
primene on na ćoravo uzima šta stigne i brlja kao prase. Zato pomaže
samo jednostruko startovanje DOS-a recimo preko taska koji tu jedno-
strukost kontroliše.
Pozdrav svima
pascal.179.bale.,
-> #178, .ristan.> primene on na ćoravo uzima šta stigne i brlja kao prase. Zato pomaže
Lepo rečeno! :-)
pascal.180a.kircanski,
-> #110, mmile_-=> Nabavi program ADDPORT ili ADD34 ili sl. i staruj ga.
_-=> Zatim iz dosa uradis echo OVDE BOLE >COM3.Jedini problem
_-=> je sto na adrese 0:404h i 0:406h treba upisati adrese kom.
_-=> portova kako bi BIOS bio u stanju da koristi com 3 i 4 a to
(izvinite, sto odgavaram na stare poruke, ali dugo sam bio u kanadi,
pa sam skino sve iz pc.prog.3/pascal)
Imam ja taj addport, i on je by me.:-)
Samo treba da se promeni nekoliko lokacijica u memoriji i sve je OK.
PS poslacu ako je neko zainteresovan.
sale.
pascal.181bearboy,
-> #163, niklaus> "verzija k'o verzija" , odn. nova verzija neće doneti ništra
> extra novo.
Nemoj tako :) Evo, onaj opis u ZMODEMC je iz '86, pa nema opis za Zmodem
sa 32-bitnim CRC, etc. Sad se samo nadam da na mestu CRC-a ima 2 bajta
viska i nista vise ;)
pascal.182niklaus,
-> #181, bearboy >> "verzija k'o verzija" , odn. nova verzija neće doneti ništra
>> extra novo.
>
> Nemoj tako :) Evo, onaj opis u ZMODEMC je iz '86, pa nema opis za
> Zmodem sa 32-bitnim CRC, etc. Sad se samo nadam da na mestu CRC-a
> ima 2 bajta viska i nista vise ;)
Pa, to je nešto drugo.
Vremenom je po računarima širom sveta preovladao CRC-32 ZModem
protokol - zbog veće sigurnosti naravno (štaviše kod ovakvih čeksum
provera verovatnoća greške je veoma bliska nuli - za ceo aktivni modema-
ški život, ne bi trebalo išta liše da ti se desi). (:
Druga stvar je što i dan danas u raznim kom. programima sem
CRC-32 postoji i CRC-16 Zmodem (npr. Telemate koji ga uključuje po
potrebi, odnosno zavisno od pošaljioca).
Treća stvar je što je '86 ipak bila pre nekih 7 god. (:
(:niklaus:)
pascal.183oduz,
Kako da preuzmem INT 2Fh tako da ako je na ulazu AX=0200h na izlazu iz
interapta AX bude FF00h? Ovo pitam bas za INT 2Fh zbog toga sto ista
rutina koju kacim na INT 60h radi, a kada je zakacim (uz odredjene modifi-
kacije) na INT 2Fh ne radi.
Ogi
pascal.184mjova,
-> #183, oduz> Kako da preuzmem INT 2Fh tako da ako je na ulazu AX=0200h
> na izlazu iz interapta AX bude FF00h? Ovo pitam bas za INT
> 2Fh zbog toga sto ista rutina koju kacim na INT 60h radi,
> a kada je zakacim (uz odredjene modifi- kacije) na INT 2Fh
> ne radi.
ne znam kako je to rešeno u paskalu, ali verovatno nije daleko od
rešenja ugrađenog u C. naime, o tome je bilo dosta diskusije u nekoj
od ovih tema pa prelistaj cccc.
problem je što se funkcije deklarisane sa interrupt smeštaju između
push 'all' i pop 'all' (ovo 'all' je 'svi registri'). u tom slučaju
kad se popuni neki registar u toj rutini on zapravo ne utiče na izlaz
jer se pre jedne iret povrate (bljuagrrhh ;) svi registri u stanje
pre ulaska. e, sad, to kvari koncepciju interapta koji treba da vrati
izvesne podatke u nekim registrima.
u C-u ima nekoliko rešenja, a pošto sam o jednom (težem ;) pisao jer
nisam bio baš upućen u neke detalje, onda mogu da sad ukratko navedem
šta je elegantnije rešenje.
void interrupt far intNO(bp, di, si, ds, es, dx, cx, bx, ax) {
ax= 0;
}
ono što je navedeno između zagrada () nisu sadržaji registara, već su
to promenljive 'kao' i svake druge. 'kao' zato što se na ovaj način
'ciljaju' sadržaji registara na steku, pa se, razumljivo, mogu
podesiti potrebni sadržaji.
procedure IntProc(Flags, CS, IP, AX, BX, CX, DX, SI, DI, DS, ES, BP: Word);
dakle, vrlo je slično C-u, osim bogatijeg izbora registara. no,
pretpostavljam da nećeš menjati registre CS i IP. Mada, zašto da ne?
obrati pažnju da su izvesni registri specijalne namene, pa im
vrednost moraš čuvati.
naravno, kako je to u C-u, promenljive će biti 'adresirane' preko BP,
pa se meni to rešenje i ne dopada previše, ali za 'proveru algoritma'
može lepo da posluži.
fraza 'provera algoritma' je vrlo zanimljiva. njom se mogu izbeći
razni pritisci koji teže pisanju programa na neki drugi način, možda
onakav kakav bi se dopao izvoru pritiska. prvi put sam je čuo od
gww.-a koji je pisao u C-u samo kad 'proveri algoritam' u paskalu ;).
toliko mi se dopada da je i sam koristim da odbijem slutnje...
pascal.185drassa,
-> #184, mjova>>> Kako da preuzmem INT 2Fh tako da ako je na ulazu
>>> AX=0200h na izlazu iz interapta AX bude FF00h? Ovo pitam
>>> bas za INT 2Fh zbog toga sto ista rutina koju kacim na
>>> INT 60h radi, a kada je zakacim (uz odredjene modifi-
>>> kacije) na INT 2Fh ne radi.
Možda pomogne ovo:
program tajitaj;
var
r:registers;
axr,..r,..r,..r:word;
Procedure blabla (var axr,..r,..r..r :word);
var
Boolean;
r: registers;
...
begin
...
intr($2fh);
axr:=r.ax;
ako je axr=0200h onda
axr:=ff00h;
r.ax:=axr;
intr($2fh);
axr:=r.ax;
kraj uslova
kraj ili nastavak procedure...
Nadam se da je pomoglo iako je malko naivno rešenje,
ali bi trebalo da radi :)
pascal.186pedjak,
-> #183, oduz> interapta AX bude FF00h? Ovo pitam bas za INT 2Fh zbog toga sto ista
> rutina koju kacim na INT 60h radi, a kada je zakacim (uz odredjene
> modifi- kacije) na INT 2Fh ne radi.
'Ajde nam bači ovde tu rutinu, pa da vidimo u čemu je problem.
pascal.187bearboy,
-> #182, niklaus> Vremenom je po računarima širom sveta preovladao CRC-32 ZModem
> protokol - zbog veće sigurnosti naravno (štaviše kod ovakvih
> čeksum provera verovatnoća greške je veoma bliska nuli - za ceo
> aktivni modema- ški život, ne bi trebalo išta liše da ti se
> desi). (:
Što se CRC-a tiče, ja sam njega (a i druge metode za proveru/korekciju
grešaka) pručavao dosta detaljno i došao do rezultata koji nisu zavidni...
Jes' da je verovatnoća mala, ali je još uvek veća nego što bi trebalo.
PS. Ako treba, mogu staviti na Sezam svoje programče koji testira CRC (i 16
i 32-bitnu varijantu), checksum i još neke manje poznate metode...
pascal.188peca.st,
-> #187, bearboy!-> PS. Ako treba, mogu staviti na Sezam
!-> svoje programče koji testira CRC (i 16 i
!-> 32-bitnu varijantu), checksum i još neke
!-> manje poznate metode...
Treba.
Peđa.
pascal.189v.nesic,
-> #187, bearboy> PS. Ako treba, mogu staviti na Sezam svoje programče koji testira CRC (i 16
> i 32-bitnu varijantu), checksum i još neke manje poznate metode...
Ako nije tajna, bolje okači rezultate testova :)
pascal.190a.kircanski,
hi.
Nabavio sam (najzad) TPU koji podržava com3 i com4. Zove se ltcomm, ili tako
nekako. Naime treba mi pomoć, evo malo kvota iz help fajla, za koje mi
treba objašnjenje:
------------------------------=-=-=-=-=-=-=------------------------------
FUNCTION FUNCTION ________
Changes one or more of the critical parameters for port COM3
or COM4.
------------------------------=-=-=-=-=-=-=------------------------------
critical parameters?? Šta mu to dođe?
dalje:
------------------------------=-=-=-=-=-=-=------------------------------
DECLARATION DECLARATION ___________
Portchange(CPort:integer; NewBase:word; NewIrq,
NewVector:byte)
RESULT TYPE RESULT TYPE ___________
boolean
REMARKS REMARKS _______
This function must be used before the port is opened to be
effective. To leave any of the parameters at its default
value, make the corresponding entry 0. Note that vector is a
vector number, not an address or pointer.
The irq parameter should not be taken to be the irq
(interrupt request number), but rather the irq mask. For
example, the correct value for irq4 is NOT 4, but a byte in
which bit 4, using INTEL's bit numbering, is set to a value
of 1. Thus, to use irq priority 4 as the irq for either COM3
or COM4, you would specify $10 as the value of irq when
calling PortChange.
If you intend to change the default irq settings, you MUST
also make a corresponding change to the vector number. See
the preceding section about using COM3 and COM4 for
additional details. Failure to follow this rule may make the
port appear to be non-functional.
The PortChange function does NOT check to determine that you
have provided both an IRQ mask AND a new vector number.
PortChange returns a value of TRUE if the change was
successful, false otherwise.
--------------------------------=-=-=-=-=-=-=----------------------------
I šta je IRQ? (znam da je interrupt request number, al šta znači)
I kako ja da mu promenim adresu i to da radi, ako imam com4?
evo i example...
---------------------------------=-=-=-=-=-=-=-------------------------
EXAMPLE EXAMPLE _______
Var
Newbase : word;
Newirq : byte;
NewVector : byte;
Begin
Newbase := $03E8;
Newirq := $10;
NewVector := $0C;
if PortChange(3, Newbase, Newirq, NewVector)
then
Writeln('Port 3 Changed')
else
Writeln('Error changing Port 3');
end;
pascal.191oduz,
-> #184, mjova>**> naravno, kako je to u C-u, promenljive će biti 'adresirane'
>**> preko BP, pa se meni to rešenje i ne dopada previše, ali za
>**> 'proveru algoritma' može lepo da posluži.
Znaci to bi islo nesto ovako:
š$M 1024,0,0ć
Uses Dos;
Var
OldInt2FP : Pointer;
Procedure DoOldInt(IntPt : Pointer);
INLINE (
$5B/ šPOP BXć
$58/ šPOP AXć
$89/ šMOV SP,BPć
$EC/
$5D/ šPOP BPć
$07/ šPOP ESć
$1F/ šPOP DSć
$5F/ šPOP DIć
$5E/ šPOP SIć
$5A/ šPOP DXć
$59/ šPOP CXć
$87/ šXCHG SP,BPć
$EC/
$87/ šXCHG ŠBPĆ,BXć
$5E/
$00/
$87/ šXCHG ŠBP+2Ć,AXć
$46/
$02/
$87/ šXCHG SP,BPć
$EC/
$CB); šRETFć
Procedure Int2FHandler(Flags,CS,IP,AX,BX,CX,DX,SI,DI,DS,ES,BP:Word);interrupt;
Var
AH, AL : Byte;
begin
AH := Hi(AX);
AL := Lo(AX);
if (AH = $02) and (AL = $00) then
begin
asm
mov AX,$00FF
mov ŠBP+16Ć,AX
end
end
else DoOldInt(OldInt2FP);
end;
BEGIN
GetIntVec($2F, OldInt2FP);
SetIntVec($2F, čInt2FHandler);
Keep(0);
END.
Ogi
pascal.192mjova,
-> #191, oduz> Znaci to bi islo nesto ovako:
> INLINE (
> $5B/ šPOP BXć
rekoh već da ne radim ništa u paskalu, ali nema veze (samo se
ograđujem od mogućih bagova ;)
ne znam zašto koristiš inline kad mi se čini da možeš sasvim lepo da
pišeš u čistom asembleru i da to proteraš kroz paskal (asm). ako ti
nije problem, baš me zanima.
drugo, oni registi koji se navode u liniji deklaracije funkcije su
zapravo promenljive čiji će sadržaj biti na ulazu jednak sadržajima
registara pri prekidu, a vrednosti koje se u njima nalaze na kraju
prekida biće postavljene u odgovarajuće registre pri izlazu. naime,
svaka promena vrednosti sadržaja te promenljive *indirektno* će
izazvati promenu tog registra. adresa promenljive je zapravo adresa na
steku gde se nalazi njen sadržaj. aman ;), ni meni više nije jasno šta
sam počeo da pišem ;)
> if (AH = $02) and (AL = $00) then
> begin
> asm
> mov AX,$00FF <<
> mov ŠBP+16Ć,AX << ovo nije potrebno.
> end
> end
a nije potrebno jer je dovoljno da napišeš AX:= $00FF. možda je
mehanizam prevođenja drugačiji, ali uz ovolike sličnosti sumnjam.
tako da mislim da se ona fn za obradu interapta može napisati ovako:
> Var
> AH, AL : Byte;
> begin
> AH := Hi(AX);
> AL := Lo(AX);
> if (AX = $0200) then
> AX:= $00FF
> else
> DoOldInt(OldInt2FP);
> end;
nemam baš vremena da probam, ali me zanima - u c-u radi sasvim dobro!
treće, nije mi jasna upotreba procedure DoOldInt, da li je neophodna?
pascal.193oduz,
-> #192, mjova>**> ne znam zašto koristiš inline kad mi se čini da možeš sasvim
>**> lepo da pišeš u čistom asembleru i da to proteraš kroz
>**> paskal (asm). ako ti nije problem, baš me zanima.
Ako si primetio nigde nema BEGIN END ;) sto znaci da BP ne sredjuje nista
sa stekom...Moglo je i u asembleru, ali bi onda (verovatno, nisam ja napisao
tu proc. a nisam ni imao bas mnogo vremena da razbijam glavu oko toga - rad-
ila mi je posao) bilo valjda malo vise posla.
>**> registara pri prekidu, a vrednosti koje se u njima nalaze na
>**> kraju prekida biće postavljene u odgovarajuće registre pri
>**> izlazu. naime,
Nisam znao :(( ... Ja mislio da mozes da ih menjas i koristis ali da ih na kr-
aju vrati kao sto su bili pre ulaska... :(
>**> a nije potrebno jer je dovoljno da napišeš AX:= $00FF. možda
>**> je mehanizam prevođenja drugačiji, ali uz ovolike sličnosti
>**> sumnjam.
Dovoljno je prosto AX := $00FF...ALi, zasto ici lakse kad moze i teze ? ;)
>**> treće, nije mi jasna upotreba procedure DoOldInt, da li je
>**> neophodna?
Pa, ukoliko se ne radi o funkciji koju koristi moj prg. mozda se radi o fun-
kciji koju koristi neki drugi prg. Zato i pozivam "stariji" hendler.
ODuzlevski
pascal.194bearboy,
-> #188, peca.st>! -> PS. Ako treba, mogu staviti na Sezam
>! -> svoje programče koji testira CRC (i 16 i
>! -> 32-bitnu varijantu), checksum i još neke
>! -> manje poznate metode...
>
> Treba.
Elem, evo programa ALI - juzer interfejs i nije neki (nema ga ;) sve
dugmice cete morati da pohvatate (ima ih oko desetak). Ova verzija
konkretno sluzi za testiranje 32bitnog CRC-a. Ako pokrenete program bez
parametara, reci ce vam sta treba da se upise.
pascal.195bearboy,
-> #189, v.nesic>> PS. Ako treba, mogu staviti na Sezam svoje programče koji
>> testira CRC (i 16 i 32-bitnu varijantu), checksum i još neke
> manje poznate metode...
>
> Ako nije tajna, bolje okači rezultate testova :)
Pa ovako - Kad sam ga pustio da progura 10 mega pod VRLO lošim kvalitetom
linije (zapravo nije bio problem u 'lošosti' linije već što sam postavio
parametre da đubre nailazi u talasima), i sa blokovima od 256 bajtova, bilo
60 nedetkovanih grešaka.
pascal.196paki,
Kako da u Paskalu deklarišem static promenljivu?
Znači, treba mi promenljiva koja će zadržavati svoju vrednost i
kada izađem iz funkcije u kojoj je definisana. Jedino što mi pada
na pamet su globalne promenljive.
pascal.197peca.st,
-> #194, bearboy!-> Elem, evo programa
Gde je? :(
Peđa.
pascal.198mjova,
-> #193, oduz> Pa, ukoliko se ne radi o funkciji koju koristi moj prg.
> mozda se radi o fun- kciji koju koristi neki drugi prg.
> Zato i pozivam "stariji" hendler.
da, to je jasno, ali zar mora baš onako? u C-u to ide nekako ovako:
void interrupt new_int_16(tra l a l a l a l registri) {
// aok je moje onda đoram
if(ax == 0x01) {
drljaj nešto();
cx= 100; < - nizak udarac u sred steka ;)
return;
}
// ne zanima me ništa, obradi strari
old_int_16();
}
nisam siguran da li treba navesti registre redom u onoj old_int_16(),
ali za pristup 'bez uputstva' i ovo je super ;)
pascal.199quale,
Interesujeme da li je neko imao iskustva sa:
Skeniranjem, Svjetlosnom olovkom
dakle podrazuš,ijeva s,
Thanx in advance:)
pascal.200sbrk,
-> #196, paki>> Kako da u Paskalu deklarišem static promenljivu?
>> Znači, treba mi promenljiva koja će zadržavati svoju vrednost i
>> kada izađem iz funkcije u kojoj je definisana. Jedino što mi pada
>> na pamet su globalne promenljive.
Ako pitanje ima čisto teorijsko značenje, onda - žao mi je. Mislim da to u TP-u
može da se izvede samo preko glob.promenljivih.
Ako odgovor treba da posluži u praksi - šta fali dobrim, starim,
glob.promenljivima?
pascal.201asterix,
Da li funkcija u Pascal-u može da vrati pokazivač ?
Function ABC (...) : nekakav_pointer ;
pascal.202pedjak,
-> #196, paki> Kako da u Paskalu deklarišem static promenljivu?
> Znači, treba mi promenljiva koja će zadržavati svoju vrednost i
> kada izađem iz funkcije u kojoj je definisana. Jedino što mi pada
> na pamet su globalne promenljive.
Tačno, jedino na taj način static promenljive možeš simulirati.
pascal.203eagle,
-> #201, asterix> Da li funkcija u Pascal-u može da vrati pokazivač ?
> Function ABC (...) : nekakav_pointer ;
Naravno, samo je potrebno da prethodno definises tip pokazivaca,
na primer:
type pok=žinteger;
function bezveze:pok;
a ne može:
function nemoguca:žinteger;
pascal.204paki,
-> #200, sbrk> Ako odgovor treba da posluži u praksi - šta fali dobrim, starim,
> glob.promenljivima?
Ništa, ali sam mislio da bi onako bilo preglednije, lepše i
ko-zna-šta-još :) Šalim se, globalne promenljive rade posao.