Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Assembler » mit fasm dll machen und in c/c++ verwenden??

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
23.09.2005, 16:23 Uhr
Tommix



Beep
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
23.09.2005, 16:29 Uhr
RedEagle



Die Funktion spielt nur die wave-datei ab, die auch bei Fehlermeldungen zu hören ist

Zitat von /aus der msdn:
Windows Me/98/95: The Beep function ignores this parameter.


Genau deshalb habe ich mir ja die mühe gemacht, mir eine eigene Funktion zu schreiben...

ps.: Hab win98
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
23.09.2005, 17:26 Uhr
Tommix



Unter Windows 98 gehen in und out noch.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
23.09.2005, 17:54 Uhr
RedEagle




C++:
#include <windows.h>

void switch_on()
{
out(0x61,in(0x61) | 3);
}

void switch_off()
{
out(0x61,in(0x61) &~3);
}

void sound(unsigned frequenz)
{
unsigned teiler;
teiler = 1193180L/frequenz;
out(0x43,0xB6);
out(0x42,teiler&0xFF);
out(0x42,teiler >> 8);
switch_on();
}



Fehler:
`in' undeclared
`out' undeclared


Brauche ich da irgend einen bestimmten Header??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
23.09.2005, 22:46 Uhr
CDW




Zitat von RedEagle:

gibt es den absolut keine Möglichkeit, einen bestimmten ton, über diesen Lautsprecher auszugeben??

also einmal habe ich für MASM irgendwo als "Treiberbeispiel" einen Treiber gesehen, der "Piepsen" kann. Ansonsten würde ich die WinAPI Beep empfehlen. Ist am unkompliziertesten.
--
EB FE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
23.09.2005, 22:58 Uhr
RedEagle




Zitat:
Die Funktion spielt nur die wave-datei ab, die auch bei Fehlermeldungen zu hören ist

Zitat von /aus der msdn:
Windows Me/98/95: The Beep function ignores this parameter.

Genau deshalb habe ich mir ja die mühe gemacht, mir eine eigene Funktion zu schreiben...
ps.: Hab win98


Beep geht nicht
--
MFG RedEagle

Dieser Post wurde am 24.09.2005 um 10:36 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
24.09.2005, 00:09 Uhr
CDW



ok, ich hab irgendwie gedacht ich wär auf der Seite [2] (und nicht auf 1), deshalb ein etwas unkonstruktiver Beitrag

Das was Du vorhast, erfordert unter Win NT+ einen Treiber. Hier wäre wieder das Problem dass Treiber unter 98 anders aussehen als unter 2000. Ich kann jetzt nicht sagen, wie man mit FASM einen Treiber schreibt - vielleicht gibts da schon was vorgefertigtes.

Was genau möchtest Du machen? Eventuell lässt sich das ganze per 16-Bit realisieren und wird dann schön emuliert. Oder Du fragst per GetVersion API die Winversion ab und nutzt je nach dem Beep oder deinen Code. Zu deinem Code: wie willst Du denn in und out außerhalb von ASM_Tags verwenden? Dann geht ja der Compiler davon aus, das wäre "normalcode".
--
EB FE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
24.09.2005, 00:40 Uhr
RedEagle



Ich würde das gerne für einen Texteditor verwenden; Klinkt komisch, ist aber so
An die Möglichkeit mit "GetVersion" hab ich auch schon gedachet, aber dann belibt ja immer noch win98. In einigen beiträgen vorher, wurde die C-Funktion (bzw WinApi-Funktion) "in" und "out" vorgeschlagen. Ich weiß aber nicht, welche Header ich einbinden muss, um diese zu verwenden...

und nen Treiber finde ich nicht so gut, währe für einen Texteditor etwas übertrieben...
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
24.09.2005, 07:36 Uhr
Tommix



'Morgen,
mit in und out meinte ich die Assembler-Befehler. In C wären das inp und outp, evtl. auch _inp und _outp, jeweils in conio.h und somit kein Standard.

Gruß, Tommix

Dieser Post wurde am 24.09.2005 um 07:37 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
24.09.2005, 09:19 Uhr
RedEagle




C++:
void switch_on()
{
_outp(0x61,_inp(0x61) | 3);
}
//...


Der macht immernoch probleme bei _outp und _inp (`_inp' undeclared...)

Hab conio.h und windows.h eingebungen

Bei den Funktionen steht immer "Compatibility: Win 95"...
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ Assembler ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: