Mov AX,0003h Int 10h Mov AX,0013h Int 10h
Mitä tämä tarkoittaa? Muutakin kuin siirrellään tavuja AX-rekistereihin ym. Itse kun kokeilin (VisualC++ inlineasmina) sain vain sinistä ruutua.. Tekeekö tämä jotain erikoistakin=
Mitenkäs tuossa Visual C++:sassa saadaan inlineasmia
No en nyt niin ku tiedä, onko se inlineassyä mutta:
__asm { ; koodia }
Tuo käyttää hyväkseen dos-keskeytystä 10h ja vaihtaa näyttötilaa ensin tekstitilaan ja sitten 13h (320x200x256, kai te sen tiedätte ;)) tilaan. Ei ehkä toimi Windowsilla.
Koppasitko tuon muuten ATK-Kouluterrostin opas 2.0 vai mikä se nimi on? Silloin se tarvii vielä ehdan goto-loopin, jotta se toimisi ja rikkoisi näytön.
Joo sieltähän minä.. ehta goto-looppi.. mulla on siinä windows-ohjelmassa:
while(1) { __asm { ; toi koodi } }
Eli looppihan se, mutta sit se varmaan ei toimikaan kun pitäs olla windows-softa ;) Joo sit hyvä että selkis, itselläni kävi mielessä se, että se vois olla näytönvaihto.. Siinä kouluterroristioppaassa kun oli se pascal-koodina, niin ajattelin kääntää c:lle tuon.. :)
lainaus:
Tuo käyttää hyväkseen dos-keskeytystä 10h ja vaihtaa näyttötilaa ensin tekstitilaan ja sitten 13h (320x200x256, kai te sen tiedätte ;)) tilaan. Ei ehkä toimi Windowsilla.
Ei varmasti toimi Windowsilla, koska Wintoosassa ei keskeytyksiä suoraan voi käyttää. Mutta API:llahan näyttötilojen ränklääminen onnistuu varsin näppärästi...
Niin ja tuo ei muuten ole DOS-keskeytys, vaan näytönohjaimen video biosin keskeytys :)
lainaus:
https://www.ohjelmointiputka.net/keskustelu/1033-qb-ohjelmoijia-ainakin-mua-syrjitään
Ainiin, eipäs olekaan. Onko 21h muuten DOS-keskeytys? Ja kun kerran aiheeseen päästiin, niin miten APIlla siten voi niitä tiloja ränklätä?
21h on se perus DOS-keskeytys (hanki HelpPC, muuten).
Suoralta kädeltä en kyllä mitään esimerkkiä tuosta näyttötilojen ränkläämisestä voi vääntää... katsotaan jos jaksaa jotain kohta joskus.
Hmm... mites toi muka näytön "rikkoo" en nyt jaksa kokeilla, mutta kerokaa ihmeessä?
Tuo taitaa toimia niin, että tietyt näytöt voivat mennä rikki, jos niiden näyttötilaa vaihtaa nopeasti ja jatkuvasti. En suosittele kokeilemaan.
Tosin uudempien näyttöjen rikkominen voi olla softalla melkoisen hankalaa, tai näin arvaisin. Vanhemmat näytöt sen sijaan voisi ehkä jopa saada em. tavalla rikottua.
Tää mun Samsung valittaa ainaki aika nopeesti, et jotain häikkää singaalis jos jotain yrittääkää, mut tol ICL:läl mikä ois tarkotus saada toimimaan kakkos näyttön ni vois onnistuu on vaan joku HW ongelma ku ei suostu softa kytkee sitä päälle.
Aihe on jo aika vanha, joten et voi enää vastata siihen.