• Hallo,

    da meine Assemblerkenntnisse etwas eingerostet sind, würde ich gerne verifizieren, ob folgende Dinge korrekt von der soundFmt.def in die entsprechende .h Datei übertragen habe:

    Code
    NoiseType			etype	byte, 0, 1
    	NT_NO_NOISE		enum NoiseType
    	NT_WHITE_NOISE		enum NoiseType	; cymbal crash
    	NT_METAL_NOISE		enum NoiseType	; snare drum hit

    habe ich übersetzt als:

    Code
    typedef enum byte {
    	NT_NO_NOISE = 0,
    	NT_WHITE_NOISE,				/* cymbal crash  */
    	NT_METAL_NOISE,				/* snare drum hit  */	
    	} NoiseType;

    Folgendes

    Code
    NoiseSetting	record
    	NS_type		NoiseType :2		; metal type
    	NS_partialLevel		  :6		; fraction for metal level
    NoiseSetting	end

    sieht jetzt unter der Annahme, dass 'record' hier byte-sized ist so aus:

    Code
    typedef ByteFlags	NoiseSetting;
    #define	NS_type			0xC0		/* metal type */
    #define	NS_partialLevel		0x3F		/* fraction for metal level */
    
    #define NS_TYPE_OFFSET		6
    #define NS_PATIAL_LEVEL_OFFSET	0

    Und schließlich das hier:

    Code
    CTIEnvelopeFormat		struct
    	CTIEF_fundamental	byte		; fraction for primary
    	CTIEF_secondPartial	byte		; fraction for 2nd intensity
    	CTIEF_thirdPartial	byte		; fraction for 3rd intensity
    	CTIEF_noise		NoiseSetting	; intensity of noise
    CTIEnvelopeFormat		ends

    wird zu;

    Code
    typedef struct {
    	byte 		CTIEF_fundamental;	/* fraction for primary */
    	byte 		CTIEF_secondPartial;	/* fraction for 2nd intensity */
    	byte 		CTIEF_thirdPartial;	/* fraction for 3rd intensity */
    	NoiseSetting	CTIEF_noise;		/* intensity of noise */
    	} CTIEnvelopeFormat;

    Der Compiler schluckt die Definitionen, syntaktisch ist also (nach mehreren Fehlversuchen) alles OK. Da ich es aber nicht testen kann (das sind die TandySound Definitionen) wollte ich nur sicherstellen, dass ich nicht irgendeinen kapitalen Denkfehler gemacht habe.

    LG
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Das Aktivieren mag schon gehen, dann bräuchte ich noch einen passenden Treiber und Software, die ihn anspricht. Das führt jetzt zu weit. Es ist ja auch nur die Datendeklaration, kein Code.

    Jedenfalls sieht das, was der Codeconverter liefert, fast so aus, wie mein Zeugs. Die letzten Unsicherheiten sind auf jeden Fall beseitigt. Also: Danke schön :)

    Rainer

    P.S. - Der Converter kann kein BASIC :( :(

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.