programiranje.1pcemerikic,
Mogu li da od nekog dobijem savete oko 'Trapovanja interupta
08h ili 1Ch . Probao sam sa svim mogucim (meni) nacina.
I jos nesto sta oko INT 09 H???
PREDRAG CEMERIKIC
programiranje.2zzivotic,
-> #1, pcemerikic S ovim interaptovima ima dosta iskustva, pa mislim da će neko moći
da ti da savet ali bi morao da budeš malo konkretniji. Šta te stvarno
zanima - da ih ukineš, da ih preuzmeš pa da radiš nešto svoje itd...?
programiranje.3vkostic,
-> #1, pcemerikicZdravo,
I ja sam kao Zoran pun iskustva sa tim interaptima. Budi malo
konkretniji, pa cemo ti pomoci.
Pozdrav, V.K.
programiranje.4rnedjeral,
Da li neko zna neki dobar algoritam za generisanje slucajnih
brojeva ?
programiranje.5vkostic,
-> #4, rnedjeral
Ovo je neka rutina koju sam pokupio iz jednog od starih brojeva
BYTE-a. U originalu je bila na Pascal-u, pa sam je preveo na C
jer mi to vise odgovara. Koristio sam ovu rutinu pre dosta
vremena. Mnogo je sporija nego odgovaracuca funkcija Turbo C-a.
Meni je odbovarala jer kad imas source za random generator, mozes
da napises program koji ce davati iste rezultate bez obzira na
kompajler ili masinu.
Varijable seed1, seed2 i seed3 treba da inicijalizujes na pocetku
programa nekim vrednostima u rasponu od 1 do 30000.
Pozdrav, V.K.
------------------------------------------------------------
int seed1,seed2,seed3;
double rand_gener(void)
š
double temp;
seed1=171*(seed1%177)-2*(seed1/177);
if(seed1<0) seed1+=30269;
seed2=172*(seed2%176)-35*(seed2/176);
if(seed2<0) seed2+=30307;
seed3=170*(seed3%178)-63*(seed3/178);
if(seed3<0) seed3+=30323;
temp=seed1/30269.0+seed2/30307.0+seed3/30323.0;
temp=temp-(long)temp;
return(temp);
ć
------------------------------------------------------------
programiranje.6rnedjeral,
-> #5, vkostic Stvarno me odusevila cinjenica da sam za jedan dan dobio odgovor na
dva pitanja (dve muve jednim...). Hvala ti jos jednom !
programiranje.7vkostic,
-> #6, rnedjeral
SEZAM i sluzi bas zato da pomazemo jedni druge!
Pozdrav, V.K.
programiranje.8pcemerikic,
-> #2, zzivoticHvala Vam puno, radi se oko toga da zelim da promenim recimo INT 9 da
bi napisao svoj program za rad sa tastaurom, ili muci me jedan prg.
koji evo sta bi trebao da radi (ukratko):
aktivira se i ostaje TSR , proveruje dali se na ekranu ispisuje neki
text (recimo PREDRAG) i ako je to .t. ond na to isto mesto stavlja
drugi text (recimo ZORAN ).?
isto bi hteo da razgledam sors file od nekog prg. koji je TSR sat i
alarm sa podesavanjem.
Mislim da sam od prilike reko sta bi hteo , ako ne onda cu spremiti
fajl u kojim ce biti sve sto sam radio oko ovog , pa mi Vas dvoje
pomozite . opet hvala i pozdrav od PREDRAGa - ULTRA Skopje.
programiranje.9zzivotic,
-> #8, pcemerikic:: ... radi se oko toga da zelim da promenim recimo INT 9 da
:: bi napisao svoj program za rad sa tastaurom
U ovom konkretnom slučaju najmanji je problem da promeniš
interapt 9 - mnogo je veći problem šta da radiš unutar tvog
programa! Int 9 obrađuje direktnu komunikaciju sa tastaturom što
je ipak predugačka priča za jednu poruku.
:: aktivira se i ostaje TSR , proveruje dali se na ekranu
:: ispisuje neki text (recimo PREDRAG) i ako je to .t. ond na to
:: isto mesto stavlja drugi text (recimo ZORAN ).?
Moram priznati, veoma neobičan zahtev, al' stvari stoje
ovako. Ako program treba da radi na XT/AT/386 onda mislim da
imaš samo dva rešenja: (1) Preuzimanje INT10 i analiziranje
onoga što se preko njega ispisuje na ekran - ovaj sistem odmah
pada jer najveći broj programa ispisuje *direktno* u video
memoriju pa se, dakle, INT 10 uopšte ne koristi. (2) Preuzimanje
timer interapta i konstatno skeniranje ekrana - ovo bi se u
principu dalo izvesti ali se bojim da bi zahtevalo malo
komplikovanja oko tajminga - tajmer rutina baš ne može
neograničeno dugo da zadržava mikroprocesor pa bi verovatno
ekran trebalo analizirati u manjim blokovima itd.
:: isto bi hteo da razgledam sors file od nekog prg. koji je TSR
:: sat i alarm sa podesavanjem.
Ako dobro shvatam, treba ti listing ovakvog programa? Ako je
tako, mislim da će neko od korisnika moći da ti pošalje nešto -
ja lično ne koristima ovakve programe.
:: Mislim da sam od prilike reko sta bi hteo , ako ne onda cu
:: spremiti fajl u kojim ce biti sve sto sam radio oko ovog,
:: pa mi Vas dvoje pomozite.
Ovo će svakako biti dobro. Ako ne želiš da datoteku vežeš uz
poruku u konferenciji, molim te samo da je ne šalješ uz privatnu
poruku *i Vladi i meni*. Izmisli neku šifru, pošalji poruku na
tu šifru i uz nju datoteku, a u privatnim porukama Vladi i meni
samo napiši koju si šifru izabrao.
Pozdrav, zz
programiranje.10bjankovic,
Program MARK (koji radi za zajedno sa programom RELEASE na
PC) verzija 1.7 ima neobičan bag:
Ukoliko na komandnoj liniji kojom se poziva program posle
samog naziva programa postoji makar jedan SPACE (ASCII 32)
prilikom kasnijeg poziva programa RELEASE računar blokira.
Na pr. linija
MARK > nul
izaziva takav efekat, dok
mark>nul
radi sasvim normalno
programiranje.11dejanr,
U IBMPC direktorijumu je program ADDRAM.ZIP koji omogućava da
64K LIM memorije pretvorite u osnovni RAM tj. da imate 640+64
=704K RAM-a.
QEMM omogućava 20-tak kilobajta više ali samo za one koji prvo
kupe 386 pa onda kupe i QEMM - ADDRAM je Public Domain.
programiranje.12mradulovic,
Da li neko zna kako iz Turbo Pascal-a 'izbaciti' TSR program koji je
ostao rezidentan preko KEEP naredbe is T.P.-a. Probao sam neka
resenja iz knjiga o T.P.-u ali se nesto jako cudno desava. Kada
izvrsim release preko odgovarajuceg poziva iz DOS-a memorijski blok
se ne oslobodi (provera preko MEM) tako da ostaje zauzet sto mi kvari
namere.■˛ Puno pozdrava. Misko.
programiranje.13vkostic,
-> #12, mradulovic
Zasto se petljati sa tim stvarima kada imas PD programe MARK i
RELEASE ?
Pozdrav, V.K.
programiranje.14mjuric,
-> #11, dejanrKako se sa QEMM dobi vise od 640K RAM? Ako moze
objavite kratko uputstvo za uporabo QEMM.
Hvala unapred...
--- Matjaz
programiranje.15dejanr,
-> #14, mjuric>> Kako se sa QEMM dobi vise od 640K RAM?
Prođi kroz kompletnu proceduru instalacije i biće OK - treba
samo pažljivo odgovoriti na sva pitanja.
Napominjem da se u prisustvu nekih video kartica, EMS kartica
i slično ne može postići više od 640K. Uz Herc. i bez nečeg
posebnog na 386 mašinama može oko 720 K. Plus možeš premestiti
bafere i neke rezidentne programe u EMS...
Pozdrav,
Dejan
programiranje.16mjuric,
-> #15, dejanr>> Prodji kroz kompletnu proceduru instalacije i bice
>> OK - treba samo pazljivo odgovoriti na sva pitanja.
Kakvu instalaciju? Imam samo dva file-a (QEMM.SYS i
QEMM.COM) verziju V1.20. :-((
--- Matjaz
programiranje.17dejanr,
-> #16, mjuricE, nemaš kompletan QEMM. Instalacija napravi ta dva fajla
(barem SYS sigurno) na osnovu odgovora koje mu ti zadaš.
Dejan
programiranje.18mradulovic,
Sto se tice mog pitanja oko "skidanja" TSR programa iz TurboPascal-a
situacija je sledeca: sve radi iz pkala, tako da hocu da oslobodim
neki program pritiskom na kombinaciju tastera. To je nemoguce uraditi
sa RELEASE-om jer ű▀on zahteva da izadjes iz programa. Imam vise
rezidentnih programa u memoriji tako da bih morao da ih oslobadjam
jednog po jednog iz njih samih. Ako je jedino resenje RELEASE sta se
desava ako ga pozovem iz rezidentnog programa koga on obrise?
Misko
programiranje.19rsum,
-> #14, mjuric
Evo kraceg uputstva za QEMM (Quarterdeck expanded memory
manager 386) sa vaznijim parametrima. Potpuno uputstvo je
dosta opsirno. Program za instalaciju nije neophodan, dovoljni
su QEMM.SYS i QEMM.COM. Instalira se na uobicajeni nacin kao i
drugi drajveri dodavanjem sledece linije u CONFIG.SYS:
DEVICE=QEMM.SYS [param1] [param2] ...
Pozivom QEMM.COM dobija se "slika" prvog megabajta memorije.
Parametri mogu biti sledeci:
MEMORY=nnnnn, gde je nnnnn u rasponu od 128 do 32128 i
predstavlja velicinu expanded memorije koju zelimo. Ako se
izostavi QEMM uzima svu raspolozivu memoriju.
FRAME=aaaa je "page frame address", tj adresa 64k segmenta
koji sluzi za mapiranje expanded memorije. Najbolje je izostaviti
ovaj parametar jer QEMM u tom slucaju sam bira najpovoljniji
segment zavisno od konfiguracije.
EXCLUDE=xxxx ili EXCLUDE=xxxx-cccc sluzi da se odredjeni
delovi memorije "iskljuce" tj ne koriste za expanded memoriju.
Primer EXCLUDE=CC00-CFFF iskljucuje 16k memorije na adresi CC00.
Ovaj parametar moze se kao i neki drugi ponavljati. Paziti da u
rasponu od 640-960k (A000-F000) ostane bar jedno parce raspolozive
memorije za page frame velicine bar 64k.
INCLUDE radi suprotno od EXCLUDE
RAM=mmmm-eeee zahteva da QEMM "popuni" memoriju izmedju 640 i
1024k
koja ne sadrzi RAM ili ROM. Moze se zadati bez opsega (samo RAM) u
kom slucaju QEMM sam nalazi moguce adrese.
ROM=rrrr-ffff specificira oblast ROM memorije koja ce biti
kopirana u RAM i zatim mapirana na istu adresu. Primer za mapiranje
sistemskog BIOS-a ROM=F000-FFFF, za EGA ROM je ROM=C000 (ovde QEMM
sam odredi duzinu).
To bi bili vazniji parametri, za dodatne informacije ostavite
poruku na SEZAM-u.
Pozdrav RSUM
řÚOu
programiranje.20majkl,
U konferenciji FORUM, poruka 30.3 najavljen je microART
festival. Najverovatnije da tamo neću moći da idem, ali tu je
SEZAM. Naime, jedna od tema je
COREWAR
Koliko su SEZAMOVCI zainteresovani za ovu temu?
Uz ovu poruku šaljem listing programa MARS (TPascal 5), koji
je nastao na bazi tekstova iz RAČUNARA i koji predstavlja simulator
u kome se odvija borba programa. Sam program je daleko od
savršenstva: kada mi je zatrebala neka opcija, ona je ugradjivana
bez reorganizacije koda. Ako ima zainteresovanih program se može
doraditi - izvorni kod je tu.
Pored programa data su i dva borca, jedan krajnje napadački
drugi odbrambeni (ali je u stanju da svojim kretanjem po memoriji
'pregazi' protivnika). Možete li bolje?
Pozdrav,
Majkl
mars.zipprogramiranje.21mikij,
-> #20, majkl Molim te reci nesto vise o COREWAR-u. Mislim na jezik. Nisam
shvatio dobro niti tvoje objasnjenje niti u casopisima(jos nemam sve
brojeve).
I jos nesto kada se odlucuje da li je neko pobedio(koji su
kriterijumi)???
Miki.
programiranje.22dejanr,
-> #21, mikijMajkl, možeš li nam stvarno dati tačna pravila COREWAR-a da
ih ovde imamo? Možda i da napravimo neku društvenu igru?
Dejan
programiranje.23majkl,
-> #22, dejanr
O COREWAR-u znam uglavnom ono što je pisalo u RAČUNARIMA:
Borba se odvija u simulatoru, programu (MARS) koji smešta borce
na slučajno odabrana mesta u memoriji veličine 8000 lokacija. Borci
su programi pisani u posebnom kodu, sličnom asembleru, koji ima 9
instrukcija: DAT,MOV,ADD,SUB,JMP,JMZ,JMG,DJZ i CMP (opisane su u
datoteci uz prethodnu poruku). Svaka instrukcija zauzima po jednu
lokaciju. MARS naizmenično interpretira instrukcije boraca i
izvršava ih. Naredba DAT, za razliku od drugih, nije izvršna i kada
se ona nadje u programu tj. kada MARS treba da je izvrši, protivnik
se proglašava pobednikom. Smisao borbe je ubaciti instrukciju DAT
(bombu) usred protivnika (sva memorija je dostupna i jednom i
drugom borcu). Postoje različite strategije: sistematski 'preorati'
memoriju bombama (primer je dat kao program FLIPFLOP), izbegavati
protivničke bombe jednostavnim pomeranjem po memoriji, detektovati
napad i preduzeti mere (takav je SPIDER), vršiti 'popravak' koda na
bazi višestrukih kopija itd. Sve u svemu može biti veoma zanimljivo.
Tekst i program iz RAČUNARA autora Dragana Stanišića nisam u
potpunosti razumeo (on bi svakako mogao dodati nešto o ovoj temi),
pa sam zato napisao novi program. Uz njega sam dao detaljan opis
kako interpretira instrukcije, da ne bi bilo zabune.
Testirao sam veći broj boraca, ali 'pravi' može nastati samo kao
odgovor na druge, Vaše borce. COREWAR i jeste pre svega izazov...
Pozdrav,
Majkl
PS Bilo bi interesantno da neko od organizatora microART
festivala kaže kako je to kod njih realizovano (pravila,
program simulator itd.)
PSS Društvena igra? Nešto ćeš/će/ćemo već smisliti...
Recimo da tražimo najjačeg borca?
programiranje.24mikij,
-> #23, majkl Da li znas da li je moguce odnosno dozvoljeno da se sa ADD i SUB
utice na parametre A ili B u nekoj naredbi koja nije DAT?
Miki.
programiranje.25redakcija,
U IBMPC direktorijumu su se, zahvaljujući Miroslavu Rajeviću
(cuba na SEZAM-u) našli programi GLOBAL.COM, BACKSCRL.ZIP i
LPTX300.ZIP.
GLOBAL.COM (nismo ga ZIPovali jer je dug svega 800 bajta)
omogućava da primenite bilo koju DOS komandu
na tekući direktorijum i sve direktorijume ispod
njega (npr. GLOBAL DIR znači DIR svih
direktorijuma ispod tekućeg). Osim DOS komandi,
"progutaće" ga i većina uslužnih programa.
BACKSCRL.ZIP omogućava da PC stalno "pamti" prethodne ekrane
tj. tekst koji je "odskrolovao". Posle Ctrl Space
ovaj tekst možete ponovo pregledati.
LPTX300.ZIP omogućava redirekciju štampača priključenog na
bilo koji port u fajl; može se čak postići da
se istovremeno ono što ide na LPT1 šalje u jedan
a ono što ide u LPT2 u drugi fajl. Priključen je
i kompletan sors u asembleru.
Zahvaljujemo se na prilogu i nadamo da će ovi programi biti
od pomoći.
programiranje.26dejanr,
-> #25, redakcijaZahvaljujući IMARUSIC-u, u IBMPC direktorijumu imamo noviju
verziju programa LPTX - LPTX601.ZIP.
programiranje.27dejanr,
Uz poruku je program koji emulira 80387 na 386 mašinama.
Nisam ga stavio u direktorijum jer je GROZAN dok ga ne
registrujete - pri butovanju računara morate da pritiskate
neke tastere, i stalno "kuka" za parama a nema i neke opcije.
Ali je izuzetno efikasan, bolji od svega što sam video!
programiranje.28esoftic,
Ja novi korisnik SEZAMA i jedva sam evo uspio da se ukljuci■˛m
na sistem. Molim da me izvinete ako nisam pristupio sa svojim pro-
blemom na pravi nacin. Moj problem je vezan za tekst "Uhvati sliku "
proslog broja"Racunara" autora A. Radovanovica.
Pomalo programiram u Clipper-u i specijalnme interesuje mogucnost
formiranja grafickih baza podataka npr. slika iz Auto-cada
(posto sam gradjevinski inzenjer). Imam AT286 sa Hercules kartom
i pokusao sam prema uputstvima autora u pomenutom clanku.
Medjutim umjesto zeljene slike iz Auto-cada dobijem prethodni
tekstualni ekran sacuvan u datoteci. Molim ovom prilikom autora ili
nekog drugog iskusnijeg da mi pomogne kako se ustvari prebacuje
Hercules u graficki rezim i kako da "uhvatim" sliku iz grafickog
rezima u datoteku.
ESOFTIC
pitprogramiranje.29popac,
Zasto emulacija koprocesora ne radi ako je instaliran QEMM v.4.1?
Unaprijed hvala na odgovoru.
programiranje.30popac,
Imam QEMM verziju 4.1 U novim Ra~unarima je obra|ena verzija 5. U
mojoj verziji nemem file loadhi.sys. Da li je moja verzija nepotpuna,
ili se taj file javlja tek u verziji 5? File loadhi.com imam.
Ukoliko mi je instaliran qemm, ne rade mi emulatori koprocesora.
Probao sam dva, i dobijam poruku exeption #3 at xxxx:xxxx
Ima li tko rje{enje?
Pozdrav
Boris Popovic
P.S. Sezam vrlo te{ko dobivam. Ukoliko je nekome usput, neka mi
dostavi odgovor na ZGB BBS ili MIPS. Hvala na razumjevanju.
programiranje.31dejanr,
-> #29, popac>> Zašto emulacija koprocesora ne radi ako je instaliran QEMM
>> v.4.1? Unaprijed hvala na odgovoru.
Verovatno dolazi do kolizije pošto oba ubacuju mašinu u neki
od 386 modova. Verovatno nema leka - moraš uzeti neki drugi
387 emulator ili Lim Mgr.
programiranje.32dejanr,
-> #30, popac>> Imam QEMM verziju 4.1 U novim Ra~unarima je obra|ena
>> verzija 5. U mojoj verziji nemem file loadhi.sys.
Loadhi.Sys je postojao u QEMM-u 4.2. Za 4.1 ne znam.
programiranje.33zddb,
Tražim neki dobar hex/binar/decimal kalkulator? Može li mi neko
poslati? Takođe mi treba neko uputstvo za EMS drajvere, da bih mogao
sam, po želji, da namestim parametre. Nijedan od poznatih drajvera,
koje čovek može naći na našim BBS-ovima, nema *.DOC ili READ.ME
fajlove! Unapred hvala Zoran Brkić (ZDDB)
programiranje.34bojanp,
-> #33, zddbZorane, evo jednog TSR programerskog kalkulatora. Nadam se da ce
ti odgovarati. Uzgred to je jedan od demonstracionih programa koji
se dobijaju uz Turbo Professional 5.0.
Pozdrav Bojan
programiranje.35dejanr,
-> #34, bojanp>> Uzgred to je jedan od demonstracionih programa koji
>> se dobijaju uz Turbo Professional 5.0.
Hmmm... a da to nije nešto pod kopirajtom?
programiranje.36zddb,
Bojane,
upravo sam prebacio kalkulator. Puno ti se zahvaljujem. Takođe i
Dejanu što ume da za zažmuri kad treba. Zoran Brkić
programiranje.37bojanp,
-> #35, dejanr
>> >> Uzgred to je jedan od demonstracionih programa koji
>> >> se dobijaju uz Turbo Professional 5.0.
>>
>> Hmmm... a da to nije nesto pod kopirajtom?
Dejane, hvala na upozorenju. Mislio sam da su samo source kod i
TPU file-ovi pod copyright-om, ali sada sam konsultovao prirucnik
i tamo stoji da su i demonstracioni programi takodje. Izvinjavam
se zbog greske i molim te da otkacis datoteku od poruke. Ubuduce
cu prvo konsultovati uputstvo. Tako je to kad je ruka brza od oka.
Pozdrav Bojan
programiranje.38mikij,
Interesuje me da li moze i ako moze kako da jedan rezidentni program
upisuje nesto u fajl. Program treba da presretne ispis (na primer) i da sve sto
ide na ekran ode i u fajl. Znaci DOS vektor + ispis u fajl.
To bi bilo to. Nadam se da nije isuvise tesko (a znam da nije!). Inace
molio bih da resenja budu u T.Pascal-u, pa ako ne moze u asembleru, pa ako ni
to ne moze onda u C-u, pa ako ni to ne moze onda... znaci da ne moze.
Pozdrav Miki
programiranje.39alazic,
Koji sve tipovi programa mogu se staviti u CONFIG.SYS sem BIN i SYS formata
(mislim konkretno na DEVICE=prg.xxx) i kakva je struktura sys ili bin datoteka
(citaj: kako ih mogu napisati u asembleru?)
Isto me interesuje da li svaka datoteka koja se izvrsi u DEVICE=XXXXX.XXX
ostaje trajno u memoriji (tj da li moze da se izvrsi program a zatim da
oslobodi memoriju)
programiranje.40mikij,
Imam problem! Imam Toshibu 1200. Instaliran je PC DOS 3.30.
I nece da rade ni Turbo Debuger, ni Code View, a AFD (Advanced full debuger)
nece ili nemoze da ucita programe prevedene Turbo Pascalom 5.5. Preporucite
neki drugi debuger ili kazite kako da pokrenem ove koje imam!
Pozdrav Miki
programiranje.41vkostic,
-> #40, mikij
>> Imam problem! Imam Toshibu 1200. Instaliran je PC DOS 3.30.
>> I nece da rade ni Turbo Debuger, ni Code View, a AFD ... ... ...
Opis problema koji si poslao nije ni priblizno dovoljan da se iznesu
neke pretpostavke sta bi mogao da bude problem. Opisi sve probleme
koje imas sa mnogo vise detalja.
programiranje.42mikij,
-> #41, vkostic Pa nema mnogo da se objasnjava. Racunar blokira cim pozovem TD ili CV,
a AFD napise : 'HIGH loading not supported' ili nesto slicno.
Pozdrav Miki
programiranje.43vkostic,
-> #42, mikij
>> Pa nema mnogo da se objasnjava. Racunar blokira cim pozovem TD ili
>> CV, a AFD napise : 'HIGH loading not supported' ili nesto slicno.
Daj Miki, ako hoces da ti neko pomogne, onda nemoj da izigravas razmazeno
dete. Reci lepo koju verziju TD-a ili CV-a koristis, jel masina ima
vise od 640K menorije, jel imas NEAT plocu ili 386-icu, jel si instalirao
EMS drajver, itd.
Problem je verovantno u prosirenoj memoriji, ali na osnovu 'HIGH loading
not supported' ja stvarno ne mogu da ti pomognem.
V.K.
programiranje.44sboskovic,
Zna li neko kako se programski moze odrediti da li je u racunar
ugradjen 80386SX ili DX ili 80486 ? (Za ostale tipove procesora
postupak mi je poznat).
pozdrav
Srdjan
programiranje.45vkostic,
-> #44, sboskovic
>> Zna li neko kako se programski moze odrediti da li je u racunar
>> ugradjen 80386SX ili DX ili 80486 ?
Mislim da programski ne moze nikako da se otkrije razlika izmedju SX i
DX (bas kao sto ne moze za 8088 i 8086). Razlika izmedju 386 i 486 bi
verovatno mogla da se otkrije ali pitaj boga kako. Jos nisam video neku
knjigu koja opisuje detaljno 486.
V.K.
programiranje.46dejanr,
-> #44, sboskovic>> Zna li neko kako se programski moze odrediti da li je u racunar
>> ugradjen 80386SX ili DX ili 80486 ?
Pre dva meseca bila je na BIX-u velika diskusija o tome. Zaključak
je da MOŽE jer postoji par programa koji to određuju. Međutim, ne zna
se kako. Navodno se prepoznaje preko dužine instrukcijskog queue-a
koji je na DX duži. Ali tačan kod (koliko me sećanje služi) niko
nije ponudio.
programiranje.47vkostic,
-> #46, dejanr
>> >> Zna li neko kako se programski moze odrediti da li je u racunar
>> >> ugradjen 80386SX ili DX ili 80486 ?
>> Pre dva meseca bila je na BIX-u velika diskusija o tome. Zaključak
>> je da MOŽE jer postoji par programa koji to određuju. Međutim, ne zna
>> se kako. Navodno se prepoznaje preko dužine instrukcijskog queue-a
>> koji je na DX duži.
Pretpostavka:
SX i DX pod istim uslovima (clock, cache, wait state, itd) rade
jednakom brzinom osim sto SX-u treba duplo vise vremena za pristup
memoriji (16 bita od jednom umesto 32 kao kod DX-a).
Ako to prihvatimo, onda mozemo da napravimo sledecu pretpostavku:
Postoje instrukcije koje zahtevaju samo jedan pristup memoriji i
zatim jako dugo vremena da procesor uradi posao. Deljenje ili
mnozenje su tipicni primeri. Takve instrukcije bi trebalo da se
obavljaju skoro podjednako brzo na SX-u i DX-u.
Postoje instrukcije koje zahtevaju puno pristupa memoriji i jako
malo vremena da procesor obavi posao. Recimo MOVE naredbe. Za takve
naredbe mora da postoji velika razlika u brzini na SX-u i DX-u.
Mozemo prvo da u nekoj pelji izmerimo vreme A za DIV naredbu. Zatim
vreme B za neku MOV naredbu. Zatim izracunamo koeficijent K=A/B. Taj
koeficijent bi trebalo da se znacajno razlikuje na SX-u i DX-u.
To je bar moje rezonovanje. Nisam bas voljan da se petljam sa time, ali
ako me bas pritisnete mogao bi da nadjem vremena da napisem program.
Cisto da vidimo.
V.K.
programiranje.48mikij,
-> #43, vkostic OK. Mada sam vec napisao imam Toshibu 1200. To je XT sa 1MB ram-a.
Znaci 640KB osnovne i 384 EMS memorije. Imam oreginalni Toshibin drajver
za EMS 3.2. Dos je isto Toshibin MS-DOS 3.20. Trenutno mi je u celoj EMS
memoriji instaliran SUPERPCK (Power Kwik Pack), ali ni TD ni CV ne rade
i ako on nije instaliran. Probao sam da i ne instaliram drajver za EMS.
Verzije TD-a se ne secam (mislim!!! da je 1.0) a CV sam dobio uz MASM 5.0.
Inace ona poruka 'HIGH loading ...' dobijam (za sada) samo za moje Turbo
Pascal programe.
Pozdrav Miki
P.S. Nisam razmazen, vec sam samo mislio da su podaci koje sam u prethodnim
porukama poslao dovoljni. Ako treba pogledacu i verziju TD-a.
programiranje.49dejanr,
-> #48, mikij>> OK. Mada sam vec napisao imam Toshibu 1200. To je XT sa 1MB ram-a.
>> Znaci 640KB osnovne i 384 EMS memorije. Imam oreginalni Toshibin
>> drajver za EMS 3.2.
Sad ću da pogledam uputstvo ali mislim da TD zahteva LIM 4.0.
programiranje.50sboskovic,
-> #46, dejanr
>> Mislim da programski ne moze nikako da se otkrije razlika
>> izmedju SX i DX (bas kao sto ne moze za 8088 i 8086).
Razlika izmedju 8086/88,80186/88 i NEC V20/V30 može se otkriti
sledećim programom:
; Asembliranje: masm code;
; link code;
; exe2bin code code.com
; del code.exe
CODSEG SEGMENT PUBLIC 'CODE'
ASSUME CS:CODSEG,DS:CODSEG,SS:CODSEG,ES:CODSEG
;
ORG 100H
;
Start: std
mov di,OFFSET k1
mov al,k2
mov cx,3
cli
repz stosb
cld
nop
nop
nop
inc cx
k2 LABEL BYTE
sti
k1: sti
mov al,cl
mov ah,4ch
int 21h
;
CODSEG ENDS
;
END START
Program daje exit code 1 za 8086,80186,NEC V30 i 80286 , a
exit code 0 za 8088,80188 i NEC V20 . Kod prve grupe se inc cx
izvrši pre nego sto je repz stosb prebriše,a kod druge ne.
Na žalost nemam nijednu 386 mašinu u blizini pa ne znam
da li bi ovaj trik ,sa stosw umesto stosb,mogao da reši
SX/DX dilemu,ali vredelo bi pokušati.
pozdrav Srdjan
programiranje.51dejanr,
-> #50, sboskovic>> ===============================
>> 11.50 PC.SOFT:programiranje
>> (01685) sboskovic, 12.01.Sub 07:31, 1184 chr
>> Odgovor na 11.46, dejanr, 07.01.Pon 04:09
>> ---------------------------------------------------------
>>
>> > Mislim da programski ne moze nikako da se otkrije razlika
>> > izmedju SX i DX (bas kao sto ne moze za 8088 i 8086).
Mora da je u pitanju neka greška, JA nisam rekao da softverski
ne može da se otkrije razlika izmađu 8086 i 8088, zapravo znam
par programa koji je otkrivaju.
Ali hvala za prilog!
Pozdrav,
Dejan
programiranje.52sboskovic,
-> #51, dejanr
Naravno,radi se o grešci - reply je bio za prethodnu poruku (11.45).
Sorry...
pozdrav Srdjan
programiranje.53dejanr,
==========
borland/**BULLETIN** #2366, from lkraft, 1247 chars, Wed Feb 13 18:18:18 1991
----------
The files described below have been installed in borland/listings and
are now available for downloading:
File name: ovision.rls
BORLAND ANNOUNCES OBJECTVISION, AN END-USER PROGRAMMING SYSTEM FOR WINDOWS
Borland International has announced ObjectVision, an innovative, new
visual programming tool that enables non-technical professionals and
managers to easily create interactive business applications for
Microsoft Windows 3.0. A description and pricing information are given
in this file.
File name: bcplus.rls
BORLAND SHIPS NEW C++ PROGRAMMING TOOL: ALLOWS CREATION OF WINDOWS APPS
In this press release, Borland International announces Borland C++,
the only complete C and C++ programming environment for building DOS
and Windows applications. This new product is available immediately.
A description and pricing information are included.
File name: bantam.rls
BORLAND AND BANTAM SIGN PUBLISHING AGREEMENT
In this press release, Borland International and Bantam Electronic
Publishing announce that an agreement has been signed to publish a
series of books based on Borland's software products.
programiranje.54dejanr,
==========
borland/news #25, from lkraft, 4104 chars, Mon Feb 25 16:13:21 1991
----------
TITLE: Borland Ships ObjectVision
BORLAND SHIPS OBJECTVISION AMID MARKET ACCLAIM
NEW WINDOWS VISUAL APPLICATION CREATION TOOL NOW AVAILABLE
SCOTTS VALLEY, Calif. -- February 21, 1991 -- Borland
International, Inc. (NASDAQ:BORL) announced today it has begun
shipping ObjectVision, an innovative new visual programming tool
that enables non-technical professionals and managers to easily
create interactive business applications for Microsoft Windows
3.0.
At the same time, Borland is already receiving high praise
for the product from a number of large corporations that are
evaluating ObjectVision as a new end user application development
standard.
ObjectVision is Borland's first product for Windows 3.0 and
was announced last week. The new software program allows users
to build Windows applications that capture business policies and
procedures in interactive programs that connect directly
corporate data via the network. The new product combines popular
features from spreadsheets, databases, forms products and front
ends into an easy-to-use WYSIWYG (What You See Is What You Get)
application.
ObjectVision carries a U.S. suggested retail price of $495,
but will be offered in the United States and Canada at a special
introductory price of $99.95 through May 31. Some foreign
language versions of ObjectVision will begin shipping later this
month. Foreign language versions will include German, French,
Italian, Swedish, Danish and Dutch products.
ObjectVision has already received accolades from a number of
major U.S. corporations. The product has also been acclaimed by
software developers and industry analysts who have used
ObjectVision's visual programming capabilities. These
capabilities allow end users to create their applications
visually, without the need for procedural programming.
Corporations and organizations that said they will use
ObjectVision include Price Waterhouse, MCI International, the
City of Los Angeles, Washington State Department of Wildlife
Management Services and Texaco Exploration & Producing Inc.,
among others.
"ObjectVision is one of the hottest new products of 1991..."
said Stewart Alsop, editor and publisher of PC Letter in a recent
issue. "ObjectVision...would certainly make life easier for
business users of Windows machines and it provides an innovative,
interesting solution to the problem of giving users control of
their data."
"What makes ObjectVision a breakthrough technology is that
it empowers a whole lot of people with their computer -- empowers
them to do things they weren't able to do before," said Sheldon
Laube, partner and national director of information and
technology for Price Waterhouse. "I think that this will mark,
as we look back five years from now, the dawn of a new generation
of software--a new category."
ObjectVision supports connectivity to Paradox, dBase,
Btrieve and ASCII data files, as well as Dynamic Data Exchange
(DDE) to other Windows 3.0 applications. As a result,
ObjectVision allows users on a network to access a variety of
database and other files to use in, and develop, an interactive
application.
"This product is an important tool -- an application assist
program -- which will allow the customer to get maximum
effectiveness both in displaying and developing, and in tying
together database products," said Ray Noorda, president and CEO
of Novell, Inc.
ObjectVision uses visual programming techniques -- a new and
advanced way to create applications by simply drawing the way the
application is supposed to work. With ObjectVision, users can
automate any business process that requires decisions and
calculations, by directly manipulating objects and processes.
Borland International Inc. is a leading developer of
object-oriented programming languages, tools and business
software. Borland offers some of the world's most widely used PC
software, including Paradox, ObjectVision, Quattro Pro, Borland
C++, Turbo Pascal and Sidekick.
programiranje.55dferbar,
Da li neko zna sta je to alfa stablo ?
programiranje.56bjankovic,
Uz ovu poruku saljem LOADALL.ZIP. Fajl je preuzet sa MIPS BBS-a, a u
njemu se
nalazi:
THE HYPER-SPACE NAVIGATOR'S GUIDE
by
Terrance E. Hodgins
to jest dokumentacija i source za upotrebu nedokumentovane
instrukcije
LOADALL za 80286.
Radi se o sledećem (izvod iz uvoda "THE HYPER-SPACE NAVIGATOR'S
GUIDE"):
..."
Yes, there really is an unpublicized, almost secret,
instruction in
the 80286, which has the ability to do several supposedly impossible
things.
It is called Loadall.
What Loadall does is completely load all the registers of
the 80286
from a table starting at 80:0 in low memory. I do mean ALL
registers: every
register you ever heard of, and a few you haven't, and also the
"invisible"
internal registers which are NOT OTHERWISE programmable. Executing a
Loadall
nearly completely re-defines the CPU's state.
This means that it is a great warp, or hyper-space,
instruction:
executing a Loadall will jump you to someplace new, and leave you
with your
choice of register contents, status and mode settings, and memory
segment
mappings, allowing you to have your segments anywhere in the
16-megabyte
address space of the 80286. Those of you who are familiar with
Unix and C
programming will be immediately reminded of the "longjump" routine.
Loadall
is the ultimate long-jump.
This is possible in REAL mode. You do NOT have to go into
protected
mode to get at memory above 1 Megabyte on the AT. Which also means
that you
don't have to then go through all kinds of odd-ball gyrations to get
back out
of protected mode. And better yet, this instruction will work in
both REAL
and PROTECTED mode.
Intel included the Loadall instruction in the 80286 for chip
testing
(they can throw the CPU into any state, and see if it then does
what it is
supposed to do), but there are much better uses for it than that
(in my
not-so-humble opinion)..."
loadall.zipprogramiranje.57alexa,
-> #56, bjankovicPovodom onog loadall-a:
I 386 ima nedokumentovanu loadall instrukciju! Do toga sam došao
čačkajući po jednom 386 BIOSu. Kod instrukcije nije isti, kao ni
tabela. Tek sada mi je jasno šta taj BIOS radi kada procesor naiđe
na (ilegalnu) instrukciju 0fH 05H.
Uspeo sam da rekonstruišem najveći deo tabele. Izgleda da, za
razliku od 286-ice, 386 ne učitava sadržaj registara sa fiksnog
mesta u memoriji, nego od adrese es:edi.
programiranje.58ivujanic,
-> #57, alexa>Povodom onog loadall-a:
>I 386 ima nedokumentovanu loadall instrukciju! Do toga sam došao
>Uspeo sam da rekonstruišem najveći deo tabele. Izgleda da, za
Pa šalji šta si otkrio, šta čekaš?! Ili možda hoćeš da zadržiš
patent? :))
Ivica
programiranje.59alexa,
-> #58, ivujanic > Pa šalji šta si otkrio, šta čekaš?! Ili možda hoćeš da zadržiš
> patent? :))
Jeste, dobro bih se ovajdio, sigurno :) Treba samo da nađem vremena
da to sredim, da liči na nešto, sad imam samo list papira na kojem
sam zapisivao šta je gde.
programiranje.60dejanr,
From: COMMIE::GABR "Primo` Gabrijel~i~" 24-MAR-1991 13:28:38.98
To: uek::racunari,GABR
CC:
Subj: RE: Bajtovi licne prirode 328
Tole je bilo objavljeno v DOS 2/91. Zraven je tudi clanek, ki pa je zal v
nemscini (total nonsense for me). Sem pa le dojel da 80486 ne dojame, ce
imas self-modify kodo, ki pise preblizu tekoce instrukcije. Tisto, kar ima
v prefetch-queue, tudi izvede, bas ga boli, ce se je v ramu kaj spremenilo.
Hope it helps.
-----------------------------------------------------------------------------
; Author: Martin Althaus
; (c)1992 DMV Widuch GmbH & Co. KG
; Published: DOS International 2/91
.8087
stk segment stack 'stack'
dw 100h dup (?)
stk ends
inc_si equ 46h
no_op equ 90h
data segment para 'data'
cpumsg db 'Processor : $'
fpumsg db 0dh,0ah,'Coprocessor: $'
pr8086 db 'Intel 8086$'
pr8088 db 'Intel 8088$'
prv20 db 'Nec V20$'
prv30 db 'Nec V30$'
pr80186 db 'Intel 80186$'
pr80188 db 'Intel 80188$'
pr80286 db 'Intel 80286$'
pr80386 db 'Intel 80386$'
pr80486 db 'Intel 80486$'
cp8087 db 'Intel 8087$'
cp80287 db 'Intel 80287$'
cp80387 db 'Intel 80387$'
cnotins db 'Not installed$'
cintegr db 'Integrated in processor$'
endtxt db 0dh,0ah,'$'
fputest dw 0
data ends
code segment para 'code'
assume cs:code, ds:data, ss:stk
start: mov ax,data
mov ds,ax
mov dx,OFFSET cpumsg
mov ah,9
int 21h
call testcpu
push dx
mov ah,9
int 21h
mov dx,offset fpumsg
int 21h
pop dx
cmp dx,OFFSET pr80486
jne not486
mov dx,OFFSET cintegr
jmp is486
not486: call testfpu
is486: mov ah,9
int 21h
mov dx,OFFSET endtxt
int 21h
mov ax,4c00h
int 21h
testcpu proc near
pushf
xor bx,bx
push bx
popf
pushf
pop bx
and bx,0f00h
cmp bx,0f00h
je not286386486
mov dx,OFFSET pr80386
mov bx,07000h
push bx
popf
pushf
pop bx
and bx,07000h
jne not286
mov dx,OFFSET pr80286
jmp endtest
not286: xor si,si
mov byte ptr cs:queue486+11,inc_si
queue486:
db 12 dup (no_op)
cmp si,0
jne endtest
mov dx,OFFSET pr80486
jmp endtest
not286386486:
mov dx,OFFSET pr80188
mov al,0ffh
mov cl,21h
shr al,cl
jne TestDatabus
mov dx,OFFSET prv20
sti
mov si,0
mov cx,0ffffh
rep lods byte ptr es:[si]
cmp cx,0
je TestDatabus
mov dx,OFFSET pr8086
TestDatabus:
push cs
pop es
xor bx,bx
std
mov al,no_op
mov cx,3
call IPtoDI
cli
rep stosb
cld
nop
nop
nop
inc bx
nop
sti
cmp bx,0
je endtest
cmp dx,OFFSET pr8086
je is8088
cmp dx,OFFSET prv20
je isV30
cmp dx,OFFSET pr80186
jne endtest
mov dx,OFFSET pr80188
jmp endtest
is8088: mov dx,OFFSET pr8088
jmp endtest
isV30: mov dx,OFFSET prv30
endtest:
popf
ret
testcpu endp
IPtoDI proc near
pop di
push di
add di,9
ret
IPtoDI endp
testfpu proc near
mov dx,OFFSET cnotins
mov byte ptr cs:[n1],no_op
mov byte ptr cs:[n2],no_op
n1: finit
mov byte ptr [fputest+1],0
n2: fstcw word ptr [fputest]
mov ah,byte ptr [fputest+1]
cmp ah,3
jne fpuend
mov dx,OFFSET cp8087
and [fputest],0ff7fh
fldcw word ptr [fputest]
fdisi
fstcw word ptr [fputest]
test [fputest],80h
jne fpuend
mov dx,OFFSET cp80287
finit
fld1
fldz
fdivp st(1),st
fld st(0)
fchs
fcompp ; st(1)
fstcw word ptr [fputest]
mov ax,[fputest]
sahf
je fpuend
mov dx,OFFSET cp80387
fpuend: ret
testfpu endp
code ends
end start
programiranje.61alexa,
Evo nešto o 386 loadall instrukciji.
lall386.txtprogramiranje.62mikij,
Molim nekog da mi odgovori (i pomogne).
Zanima me struktura EXE datoteka. Nov sam u masincu, a stvarno mi treba.
Cuo sam za hedere itd. Molim nekoga da mi preporuci neku literaturu (pozeljno
da se moze naci u YU) ili da napise ovde sta zna.
Pozdrav Miki
nčş
^^^ Djubre sta cete.
programiranje.64dejanr,
-> #62, mikijKao i obično, knjiga Advanced MS DOS, nema ko je ovde nema :)
Ako nije pri ruci, pomoći će ti i umetak "Sve MS DOS funkcije"
Zorana Životića iz "Računara 28"
programiranje.65dejanr,
Ima li neki način (dokumentovani ili nedokumentovani) da se pročita
datum direktorijuma a onda da se taj datum promeni? Naravno, može se
direktno čitati i pisati po disku ali mi stvar treba za neki "štos
program" pa me mrzi da idem "tako duboko".
programiranje.66majkl,
-> #65, dejanr
Datum direktorijuma se može pročitati koristeći funkciju
FindFirst (TPascal). Što se promene datuma tiče, to će ići
malo teže...
Pozdrav, Majkl
programiranje.67dejanr,
-> #66, majkl>> Što se promene datuma tiče, to će ići malo teže...
E, znam, čitav BIX sada priča o tome ali sa malo uspeha. Evo do čega
se najzad došlo uz pomoć čuvenog Ray Duncan-a (autor knjige Advanced
MS DOS):
==========
ibm.dos/secrets.3 #1482, from rduncan, 593 chars, Sun May 5 03:23:12 1991
Comment to 1469. Comment(s).
----------
I don't know if this is still true in current versions of DOS, but
at least in about version 3.1 or 3.2 you could open a directory as
though it were a file using an extended fcb and setting the attribute
byte appropriately. The only problem is/was that DOS sets the
filesize field of the FCB after the open to zero. You have to
trace through the FAT to find the true size of the directory, poke
that size into the already-opened FCB, and *then* use the FCB to
read & write the directory. Caveat: I don't know if this technique
still works, but if it *does* work at all it's quite reliable.
Na žalost, ja (uz umerene pokušaje) ovo ne uspevam da uradim, naime
poziv 0f mi stalno vraća grešku kada pokušam da otvorim dir kao fajl.
Probao sam na DOS-u 3.30, 5.0 i 3.20. Uspeva li nekome od vas?
programiranje.68mjova,
ASM source popukarnog 800K programa.
Šule
800k.zipprogramiranje.71nkbog,
Uz poruku je HELPPC program i datoteka sa PUUNO interesantnih stvari za
jednog programera na PC. (kao INTERRUPT & NG za ASM i C & Hardware & jos
mnogo toga).
NB.
programiranje.72beast,
Može li neko da napravi program koji briše postojeći dir (onaj u
kome se nalazim),i sve ostale poddirektorijume i fajlove u njima,
i da mi ga da. O:) Bio bi mu zahvalan do groba ako priloži
i sourse OO:))))
programiranje.73shone,
-> #72, beastTaj program vec postoji ovde na sezamu u IBM direktorijumu
u arhivi XRD.ZIP
programiranje.74zloncar,
Funkcija br.9 (definisanje kursora u grafickom rezimu)
pacov drajvera (mouse.sys) nece da radi sa Hercules grafickom karti-
com ( verovatno zato sto mouse.sys poziva BIOS video fje.). Da li
neko zna kako je realizovana gore pomenuta funkcija (u mouse.sys-u)
i ima li neko resenje (mozda neki rezidentni programcic koji presrece
INT 10H ) ?
Zarko Loncar
programiranje.75dejanr,
==========
ibm.dos/long.messages #387, from agustafsson, 3466 chars,
Wed Jun 12 14:15:21 1991
Comment(s).
----------
TITLE: Reading bitmaps into VRAM
This is an answer to ibm.dos/secrets.3 #1811
Fragments to read from a file directly into video-RAM of an EGA or VGA
In this case we read an uncompressed EGA-Paint file which in all
simplicity is a header (the pallette) followed by four 64K bitmaps (the
colourplanes). The routines have been used in a information system
running on a HP TouchScreen, where customers could point at the screen
to select different things.
The interesting thing with the function v_read() is that it _almost_
works flawlessly and so shortens the time spent displaying graphics
considerably since we can get rid if double buffering. Sometimes however,
especielly if the machine is running any kind of disk-buffering sw. Whole
planes or parts of planes seem to land in the great bit-bucket in the sky
instead of VRAM. I would be very glad if any of you gurus could shed some
light on this!
ShowEga(fil,res)
int fil;
char res;{
char buf[20];
int reply,i;
int mouse_x,mouse_y;
union REGS inregs;
union REGS outregs;
/* Check if CGA */
iideo.ColorFlag&&video.SyncFlag) return(NO);
read(fil,buf,HLEN); /* Read header */
reply=-1;
mouse_x=mscol; /* Save mouse position */
mouse_y=msrow;
switch(res){
case EGA_P:
if(current_mode!=0x12){
SetVideoMode(0x12,&video);
current_mode=0x12;
}
DisableVideo();
for (i=0;i<4;i++){
outp(0x3c4,2); /* pointto seqencer map mask */
outp(0x3c5,planes[i]); /* select plane */
v_read(fil,0xA000,PICLEN); /* read one plane into VRAM */
}
EnableVideo();
Mcage(0,0,635,450); /* so that the mouse does not escape.. */
break;
default:
buf[0]=res;
buf[1]=0;
logentry("ShowEga st^Tder inte:",buf);
return (NO);
}
buf[16]=0;
is.x.ax=0x1002; /* Load pallette */
inregs.x.dx=(int) buf;
int86(0x10,&inregs,&outregs);
outp(0x3c4,2); /* point to seqencer map mask */
outp(0x3c5,0xff); /* enable all planes */
while(reply==-1) reply=GetKey();
Mmove(mouse_x,mouse_y); /* Restore mousepointer to saved pos */
Mcage(0,0,632,192); /* Restore default mousecage */
return (reply);
}
TITLE VIDEO - Sundry videofunctions
INCLUDE DOS.MAC
;
;********************************************************************
; VIDEO.ASM - Sundry videofunctions
;
; int v_read(fil,buffer,bytes)
;
; Read file contents directly into video RAM
; VRAM starts at 0xA000 for EGA
;
; int v_IsEga();
;
; Determine if EGA or not
;
; AUTHOR (c) A Gustafsson August 1989
; Rox, Skarpansv^Dgen 28 SF-22100 Mariehamn
;
;
;********************************************************************
.radix 16
LF EQU 0AH
CR EQU 0DH
IF LPROG
XQU 6
ELSE
X EQU 4
ENDIF
PSEG
IC v_read,v_IsEga,WriteTTY,XMovLT,XMovRT
IF LPROG
v_read PROC FAR
ELSE
v_read PROC NEAR
ENDIF
PUSH BP ;Save BP
MOV BP,SP
push ds
MOV BX,[BP+X] ;Get filepointer (handle)
MOV DX,[BP+X+2] ;Get buffer adress
MOV CX,[BP+X+4] ;Get number of bytes
MOV ah,3fh ;Read file
mov ds,dx ;Always read from start of VRAM
xor dx,dx ;onward...
int 21h
pop ds
jnc rd_exit ;If no errors...
mov ax,-1 ;All errors return EOF
rd_exit:
POP BP ;Restore BP
RET ;Return
v_read endp
IF LPROG
v_IsEga PROC FAR
ELSE
v_IsEga PROC NEAR
ENDIF
PUSH BP ;Save BP
MOV BP,SP
mov ah,12h
mov bx,0FF10h
int 10h
cmp bh,0FFh ;Bh changed?
jnz has_ega
mov ax,0 ;Indcate no ega
has_ega:
POP BP ;Restore BP
RET ;Return
v_IsEga endp
NDPS
END
==========
ibm.dos/long.messages #388, from chill, 469 chars, Wed Jun 12 22:59:03 1991
Comment to 387. Comment(s).
----------
I did something similar a few years back. What I found was
that certain versions of SMARTDRV.SYS would mess up direct
disk-to-VRAM reads. I also found that it was often faster to
read into normal RAM and then to VRAM. There is also a problem
with PS/2s and a couple other graphics cards (Herc was one I
think) in that reads must be made in chunks no larger than a
single DOS buffer (I don't remember the problem at the moment,
just that there was one).
Chris
==========
ibm.dos/long.messages #389, from roedy, 136 chars, Wed Jun 12 23:50:29 1991
Comment to 388. Comment(s). More refs to 388.
----------
I found that DMA direct to a HERC Plus REGEN does not work.
You have to do the read in small pieces so DOS goes indirectly
via buffers.
==========
ibm.dos/long.messages #390, from mike123, 214 chars, Thu Jun 13 00:59:59 1991
Comment to 388. Comment(s).
----------
Chris, are you referring to DMA boundary problems? You have to make
sure that your buffers are aligned on segment boundaries to do
multiple cluster (DOS buffer) transfers, at least on DOS version
< 3.30.
++Mike++
==========
ibm.dos/long.messages #391, from chill, 121 chars, Fri Jun 14 16:34:12 1991
Comment to 390.
----------
Nope, it was direct CMA transfers to video ram. They had to be
buffered first in small chunks otherwise garbage.
Chris
==========
ibm.dos/long.messages #392, from chill, 88 chars, Fri Jun 14 16:34:27 1991
Comment to 389.
----------
Yeah, me too... didn't we have this conversation somewhere
before?
Deja vu.
Chris
programiranje.76dejanr,
Za zainteresovane - na DECNET-u je danas otvorena konferencija o
objektnom programiranju. NOTES i onda ADD ENTRY RCUM::OOP.
programiranje.77djelovic,
Zna li neko format zapisa Bitstream fontova. Kao Adobe ga je
objavio još pre godinu dana, al' ja ništa od toga ne videh. Trebaj=▀
mi lepa slova za ekran i štampač, a BS deluje kao prava stvar. Zna li
ko?
programiranje.78zzivotic,
-> #77, djelovic>> Zna li neko format zapisa Bitstream fontova. Kao Adobe ga je
Format fonotova je opisan u izdanju :
Adobe Type 1 Font Format
Adobe Systems Incorporated
Izdavač: Addison-Wesley, August 1990. Version 1.1
Knjižica ima oko 100 strana a cena joj je oko 15 USD.
Pozdrav,zz
programiranje.79dejanr,
-> #78, zzivotic>> Format fonotova je opisan u izdanju :
Ima li neko ideju kako da to nabavimo?
programiranje.80djelovic,
-> #78, zzivotic Da li si ti tu knjigu već video, i ako jesi, možeš li da mi
kažeš koliko je to komplikovano za implementaciju (ukratko)?
programiranje.81zzivotic,
-> #77, djelovic>>>> Zna li neko format zapisa Bitstream fontova. Kao Adobe ga je
>> Format fonotova je opisan u izdanju :
Eh, malo ti pitanjem, malo ja odgovorom i napravismo zabunu! ;)
Adobe je autor PostScripta i format *PS fontova* je dokumentovan u
pomenutoj knjizi.
Format Bitsream .BCO ili .BEZ datoteka je nešto sasvim drugo i ne verujem
da je igde dokumentovan.
Pozdrav, zz
programiranje.82mjova,
-> #79, dejanr>> Ima li neko ideju kako da to nabavimo?
Možda preko neke od knjižara koje prodaju stranu liter.?
Ima ona jedna u Sarajevu a ima i u BGD-u. Da to ne bi bila
reklama, moram da kažem da su ovi iz Beograda jeftiniji.
Kupio sam jednu knjigu (preko onih iz sarajeva) koja je
bila skuplja (nego ista! takva u bgd). naravno da sam
poludeo kad sam sve to saznao....
oni se nalaze u m.tita 17/II bgd tel 336630
pa ko voli nek pozove...
šule
ps. nadam se da ovo nije reklama jer ove knjižare su zaista
retkost kod nas, a nekad tako treba nešto što nigde nema...
programiranje.83dejanr,
-> #82, mjova>> Ima ona jedna u Sarajevu a ima i u BGD-u.
Vala, mi od te knjižare u Sarajevu naručismo jedno 10 komada
MS C Bible i evo vozaju nas već par meseci pa ništa. Na pitanje
"zašto nema" je odgovor (njihov) "pa znate, ti Englezi su
neposlovni..." ;)
programiranje.84jtitov,
-> #81, zzivotic> Format Bitsream .BCO ili .BEZ datoteka je nešto sasvim drugo i ne verujem
>da je igde dokumentovan.
Jeste, jeste, ali kod proizvođača :)))). Uzgred, zašto tako specifična
pitanja ne postavite direktno proizvođaču?? Još nisam naišao na firmu
(kompaniju, organizaciju) koja mi nije odgovorila na postavljena pitanja. Možda
su odgovori i bili u stilu "Ne možemo vam pomoći" ili "Obratite se našoj
filijali u..." ali i takav odgovor je bolji nege da nema odgovora! A što je još
interesantnije, to će da vas košta jedno pola_sata - sat vremena, malo
prevrtanja po rečniku i nekih dvadesetak dinara za marku. (Papir i kovertu
nabavite sami). Primer je Intel. Jednom sam im pisao da me interesuju njihovi
koproceseri, a oni ljudi navalili pa mi svaki mesec šalju nove prospekte.
Čudan neki svet :))
programiranje.85miro,
-> #84, jtitov=>> Format Bitsream .BCO ili .BEZ datoteka je nesto sasvim drugo
=>i ne verujem
=>>da je igde dokumentovan.
Koliko ja znam, Bitstream je patentom zastitio formate svojih
fontova, sto znaci da se potpuna dokumentacija moze naci kod US
patentnog zavoda. (Pa sta mislite, da su recimo oni iz Corel-a
hackerisali da bi ubacili Bitstream format u WfnBoss). Dakle, sve sto
treba uraditi je poslati pismo US patentnom zavodu i zatraziti tu
dokumentaciju.
Pozdrav,
O
/█>
Ů Ţ
▀ ▀ Miro.
programiranje.86dejanr,
-> #85, miroJa sam jednom davno naručio od US Patentnog zavoda patent za TI59 i dobio
ga. GOMILA papira je koštala 50c, jedino je problem što nema načina da
u USA čekom pošalješ toliko bogatstvo, ja sam stavio $1 u pismo i nekako
je prošlo ;)
Međutim, APSOLUTNO nema načina (bar ga onda nije bilo) da ti pošalju
patent ako nemaš tačan BROJ tog patenta. Što u ovom slučaju barem ja ne
znam.
programiranje.87djelovic,
-> #86, dejanr Zna li onda neko gde da nabavim *dobre* vektorske fontove.
Potreban mi je WYSIWYG, a bez njih to teško ide!
programiranje.88jtitov,
-> #86, dejanr>Ja sam jednom davno naručio od US Patentnog zavoda patent za TI59 i dobio
-----
TOOOO. Dajte, ljudi, pričajte nam svoja iskustva sa dobijanjem informacija "s
one strane Morave".
Ko o čemu Dejan o TI59 :))))) Stara ljubav, zaborava nema...
programiranje.89djelovic,
Imam program na MS Fortranu za koji mi CodeView javlja Out of
memory. Da li postoji način da ovaj program ipak debug-ujem? Imam i
TD, pa dolaze u obzir i kombinacije s njim.
programiranje.90djelovic,
Ima li neko ideje kako se pravi program koji bi rešavao jednačine
numerički - tj. program tipa eureka. Ajmo programeri!
programiranje.91ppekovic,
-> #90, djelovic>> Ima li neko ideje kako se pravi program koji bi rešavao
>>jednačine numerički - tj. program tipa eureka. Ajmo programeri!
Što praviti kad već postoji i to u mnogo lepšem obliku, tj. u vidu pakarda
48 SX ;)))
Paya
programiranje.92zormi,
-> #90, djelovic>> Ima li neko ideje kako se pravi program koji bi rešavao
jednačine
>> numerički - tj. program tipa eureka. Ajmo programeri!
Problemi su više matematički nego programerski. Moraš da se zakopaš
u numeričku analizu. Ima i kod nas dosta knjiga iz te oblasti.
programiranje.93djelovic,
Da li je legalno da ja klijentu prodam moje programe zip-ovane, i
da ih instalacioni program unzipuje? Shareware? Was ist das? Ako zip
tj. PkWare to ne dozvoljava, preporučite neki drugi arhiver.
programiranje.94dejanr,
-> #93, djelovicApsolutno! Za to ZIP2EXE i služi!
programiranje.95gobradovic,
Molim one koji imaju ili znaju gde da nabavim literaturu za
programiranje Microsoft kompatibilnog mousa da mi ostave poruku.
Radi se o 35 funkcija INT 33H interapta. Znam da postoji clanak
o tome objavljen u PC Magazinu od 21. jula 1987. ali, naravno,
do njega takodje nisam uspeo doci.
Hvala unapred!
programiranje.96dlozic,
-> #95, gobradovicEvo uputa za programiranje Microsoftovog mi{a, u obliku Norton
Guide datoteke. Tamo pi{e tko je ovo sastavio i prema kojoj
literaturi.
mis.zipprogramiranje.97.bale.,
-> #96, dlozicKad si pomenuo NG, po ko zna koji put molim one koji ovo procitaju da pogledaju
datum na svom NG.EXE. Ako neko ima verziju od 1. maja 88 (vazno je da nije
avgust 87.), nek mi posalje, bicu mu zahvalan do groba. Naime, zbog neke
nekompatibilnosti moje mama-ploce, posle instaliranja, na pritiske hot-key-a on
samo bipce i nikakve kombinacije ne pomazu vec skoro godinu i po :(((
Regards from .bale. !
#8*)+-<
programiranje.98nboskovic,
-> #97, .bale.>> Kad si pomenuo NG, po ko zna koji put molim one koji ovo procitaju da
>> pogledaju datum na svom NG.EXE. Ako neko ima verziju od 1. maja 88
>> (vazno je da nije avgust 87.), nek mi posalje, bicu mu zahvalan do
>> groba. Naime, zbog neke
Kod mene ng ima datum 17.7.87 i isto,kada ga instaliram i pozovem neće
da se javi već samo bibiče.Međutim,čim ukucam,posle zvanja ng sa
SHIFT+F1,bilo koji znak sa tastature pojavi se ng(čudno ali mi to
uvek uspe na tu foru).Probaj i ti tako možda upali i kod tebe.Ako hoćeš
mogu ti poslati ovaj ng koji ja imam.
(c) klap
nikola
programiranje.99braca,
-> #97, .bale.
A da nemaš Herkules?
Naime, i ja sam imao sličan problem dok nisam promenio karticu.
Probaj ako imaš neki drugi (noviji) herkules pri ruci.
programiranje.100.bale.,
-> #98, nboskovicPod onim "nikakve kombinacije ne pale" sam na to mislio. Kod mog druga slične
stvari pale - malo rka tastaturu i proradi...
Regards from .bale. !
#8*)+-<
programiranje.101.bale.,
-> #99, bracaEh... Imao sam neki noviji Hercules ali mu nije radio kako treba paralelni
interfejs... Zbog toga mi je serviser stavio neki stariji model. Posle toga sam
ja gnjavio servisera vise puta, menjao sam i BIOS, ali nista. Ko bi pomislio na
to? Mada, cini mi se da sam NG probao i pre promene. A mozda i nisam...
Regards from .bale. !
#8*)+-<
programiranje.102znevenic,
-> #101, .bale.Vrlo verovatno je problem u Hercules kartici. Tvoj slučaj bi bio treći za koji
znam, i evo prethodnih iskustava:
Izgleda da postoje "cga-compatibilne HGC" karte, te karte zahtevaju neke
posebne prekidace na onom programu za simulaciju cga, HGCIBM.COM. E, po mom
iskustvu, te kartice prave probleme kakve ti imaš, tj. nikakve fore ne pomažu.
Video sam dve takve karte na dva racunara, oba vlasnika su kupila VGA, i NG
radi sad na obe mašine...
Trebalo bi da je ovo neka uteha: ne treba da menjaš ploču, zameni samo HGC...
Pozdrav, Zoran.
programiranje.103mmilosevic,
-> #102, znevenicZna li neko rutinu za brzu animaciju neko image-a,
u TC-u i MSC ima put i get image ali oni su suvise
spori.Ako ima neko resenje, a mora da ga ima,
jer sam u jednoj od SIERRI-nih avantura video animaciju
na 320x200 , 256 boja, da mi je stala pamet.
Animacija je bila originalna, "sprajt"( kako bedno i
8-bitnicki zvuci ) uopste nije treptao, samo je lagano
klizio... :))
Pozdrav , MMILOSEVIC
Aleksandar Milosevic