13h -> THX ALL:)

0

Witajcie!
Znalazlem sobie jak sie wlacza tryb 13h, chociazby na stronach:
http://www.binboy.org/index.php?show=p13h.htm&id=
czy
http://warsztat.pac.pl/artykuly/grafika_13h_1/grafika_13h_1.htm

void Init13H (void)
{
     union REGS regs;

     regs.h.ah=0x00;
     regs.h.al=0x13;
     int86(0x10,®s,®s);
}

ale gdy probuje w Borland C++ Builder 6 Enterprise w aplikacji konsolowej uruchomic ten tryb poprzez:

int main()
{
     union REGS regs;

     regs.h.ah=0x00;
     regs.h.al=0x13;
     int86(0x10,®s,®s);
     return 0;
}

wywala mi blad, ze struktura REGS jest niezdefiniowana ("Undefinied structure REGS") i program sie nie kompiluje.

Dlaczego?

0

Zamiast próbować rozwiązać ten problem proponuję prostrze podejście.
Użyj wstawki w Assemblerze:

asm
{ mov ax,13h
  int 10h
}
0

Zamiast próbować rozwiązać ten problem proponuję prostrze podejście.
Użyj wstawki w Assemblerze:

asm
{ mov ax,13h
  int 10h
}

Aha, zapomnialem napisac w poscie wyzej... [wstyd]
...jak probowalem juz kilka dni temu tak uruchomic 13h to zawsze mi wyskakuje Access Violation przy wywolaniu przerwania 10h...:(
"Dzien bez Acces Violation to dzien zmarnowany"

HELP

0

Maly opis 13h masz na mojej domowej:
www.cepa.prv.pl
kod z ort! ort! dzialac :P

0

Przerwania w Builderze? Zapomnij. W Windowsie nie ma co używać przerwań.

0

Przerwania w Builderze? Zapomnij. W Windowsie nie ma co używać przerwań.

ymm, to widać na górze walnąłem gafę, ale jakoś nie skumałem i "aplikacja konsolowa" jakoś wydała mi się "programem pod DOSa". Za wałek przepraszam.

0

Przerwania ktore da sie uzyc we wstawkach (DPL=3) :
3h, 2ah, 2bh, 2ch, 2dh, 2eh
dziwne ze :
1h, 4h
mimo ze maja tez DPL=3 wywoluja Violation (na VC++ u mnie)?!
Inne maja DPL=0 i tylko kod z ring0 ma prawa do wywolania :(
Nawet 21h ma DPL=3 ale nie znalazlem ktore funkcje da sie
wywolac i czy w ogole ;)

0

Witajcie.
Nie bylo mnie 24h w domu/w sieci:) i juz tyle odpowiedzi:)
Zatem w czym i jak moge odpalic ten tryb 13h? Uzywajac tego kodu:?

void Init13H (void)
{
     union REGS regs;

     regs.h.ah=00;
     regs.h.al=13;
     int86(10,®s,®s);
} 

??
Wiem, ze w Pascalu(choc nie probowalem) ten tryb odpala, ale to mnie nie satysfakcjonuje, bo teraz jestem w trakcie przesiaki na C++ i wolalbym przez najblizsze pol roku nie pisac w Pascalu.:(
Pytanie: Jak i w czym mam to odpalic? Czy to sie w ogole da odpalic pod jakims C++? Czy jedynym wyjsciem jest czysty asm?

HELP!

0

Chodzi o to, że taki kod możesz uruchomić w 2 przypadkach:

  1. tryb rzeczywisty (w uproszczeinu: normalne programy pod DOSa)
  2. ring0 w trybie chronionym - dla Ciebie - odpada
0

Chodzi o to, że taki kod możesz uruchomić w 2 przypadkach:

  1. tryb rzeczywisty (w uproszczeinu: normalne programy pod DOSa)
  2. ring0 w trybie chronionym - dla Ciebie - odpada
  1. Na moj chlopski rozum jak pisze aplikacje konsolowa w BCB6 to chyba jest pod DOSa?
  2. O co chodzi?:)

BTW Marooned: Niezly reflex:) Czas odpowiedzi 2min:D

//dopisane
jesli jestem w bledzie to w takim razie w jakim srodowisku programistycznym bede mogl sie zajac trybem 13h?

0

Aplikacja konsolowa != program pod system DOS.

Ta pierwsza nadal jest pod Windows tyle, że używa trybu tekstowego. To w skrócie.

Zapomnij...

0

OK, ale w dalszym ciagu nie uzyskalem informacji w jakich srodowiskach programistycznych ebde mogl napisac jakas grafe w 13h.
Skoro na tych stronkach:
http://www.binboy.org/index.php?show=p13h.htm&id=
czy
http://warsztat.pac.pl/artykuly/grafika_13h_1/grafika_13h_1.htm
sa informacje jak to sie robi w C++ to jakos w C++ sie to chyba da zrobic:)
Pytanie: Gdzie i jak (nie mam du na mysli kodu:) ) moge uruchomic to 13h?

BTW Pozdro dla wszystkich udzielajacych sie w temacie a szczegolnie dla aktywnego Marooneda:)

0

Użyj jakiegokolwiek kompilatora pod DOSa. Np. Borland C++ (nie builder) pod DOSa, DGJPP czy kilkadziesiat innych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1