|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 9216 (0x2400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Sound, seg_021fed
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
-- Copyright (c) 1990 Meridian Software Systems, Inc. --
with Mac_Types;
use Mac_Types;
package Sound is
Swmode : constant := -1;
Ftmode : constant := 1;
Ffmode : constant := 0;
Synthcodersrc : constant := 16#736E7468#; -- "snth"
Soundlistrsrc : constant := 16#736E6420#; -- "snd "
Notesynth : constant := 1;
Wavetablesynth : constant := 3;
Sampledsynth : constant := 5;
Midisynthin : constant := 7;
Midisynthout : constant := 9;
Midiinitchanfilter : constant := 16#10#;
Midiinitrawmode : constant := 16#100#;
Twelthroottwo : constant := 1.05946309434;
Infinitetime : constant := 16#7FFFFFFF#;
Nullcmd : constant := 0;
Initcmd : constant := 1;
Freecmd : constant := 2;
Quietcmd : constant := 3;
Flushcmd : constant := 4;
Waitcmd : constant := 10;
Pausecmd : constant := 11;
Resumecmd : constant := 12;
Callbackcmd : constant := 13;
Synccmd : constant := 14;
Emptycmd : constant := 15;
Ticklecmd : constant := 20;
Requestnextcmd : constant := 21;
Howoftencmd : constant := 22;
Wakeupcmd : constant := 23;
Availablecmd : constant := 24;
Versioncmd : constant := 25;
Scalecmd : constant := 30;
Tempocmd : constant := 31;
Notecmd : constant := 40;
Restcmd : constant := 41;
Freqcmd : constant := 42;
Ampcmd : constant := 43;
Timbrecmd : constant := 44;
Wavetablecmd : constant := 60;
Phasecmd : constant := 61;
Soundcmd : constant := 80;
Buffercmd : constant := 81;
Ratecmd : constant := 82;
Mididatacmd : constant := 100;
Setptrbit : constant := 16#8000#;
Stdqlength : constant := 128;
Datapointerflag : constant := 16#8000#;
Initchanleft : constant := 2;
Initchanright : constant := 3;
Initchan0 : constant := 4;
Initchan1 : constant := 5;
Initchan2 : constant := 6;
Initchan3 : constant := 7;
Initsrate22k : constant := 16#20#;
Initsrate44k : constant := 16#30#;
Initmono : constant := 16#80#;
Initstereo : constant := 16#C0#;
Firstsoundformat : constant := 1;
type Freewave is array (0 .. 30000) of Byte;
type Ffsynthrec is
record
Mode : Mac_Types.Integer;
Count : Fixed;
Wavebytes : Freewave;
end record;
type Ffsynthptr is access Ffsynthrec;
type Tone is
record
Count : Mac_Types.Integer;
Amplitude : Mac_Types.Integer;
Duration : Mac_Types.Integer;
end record;
type Tones is array (0 .. 5000) of Tone;
type Swsynthrec is
record
Mode : Mac_Types.Integer;
Triplets : Tones;
end record;
type Swsynthptr is access Swsynthrec;
type Wave is array (0 .. 255) of Byte;
type Waveptr is access Wave;
type Ftsoundrec is
record
Duration : Mac_Types.Integer;
Sound1rate : Fixed;
Sound1phase : Longint;
Sound2rate : Fixed;
Sound2phase : Longint;
Sound3rate : Fixed;
Sound3phase : Longint;
Sound4rate : Fixed;
Sound4phase : Longint;
Sound1wave : Waveptr;
Sound2wave : Waveptr;
Sound3wave : Waveptr;
Sound4wave : Waveptr;
end record;
type Ftsndrecptr is access Ftsoundrec;
type Ftsynthrec is
record
Mode : Mac_Types.Integer;
Sndrec : Ftsndrecptr;
end record;
type Ftsynthptr is access Ftsynthrec;
type Sndcommand is
record
Cmd : Mac_Types.Integer;
Param1 : Mac_Types.Integer;
Param2 : Longint;
end record;
subtype Time is Longint;
type Modifierstub;
type Modifierstubptr is access Modifierstub;
type Modifierstub is
record
Nextstub : Modifierstubptr;
Code : Procptr;
Userinfo : Longint;
Count : Time;
Every : Time;
Flags : Signedbyte;
Hstate : Signedbyte;
end record;
type Sndchannel;
type Sndchannelptr is access Sndchannel;
type Array0_127sndcommand is array (0 .. 127) of Sndcommand;
type Sndchannel is
record
Nextchan : Sndchannelptr;
Firstmod : Modifierstubptr;
Callback : Procptr;
Userinfo : Longint;
Wait : Time;
Cmdinprogress : Sndcommand;
Flags : Mac_Types.Integer;
Qlength : Mac_Types.Integer;
Qhead : Mac_Types.Integer;
Qtail : Mac_Types.Integer;
Queue : Array0_127sndcommand;
end record;
type Array0_1byte is array (0 .. 1) of Byte;
type Soundheader is
record
Sampleptr : Ptr;
Length : Longint;
Samplerate : Fixed;
Loopstart : Longint;
Loopend : Longint;
Basenote : Mac_Types.Integer;
Samplearea : Array0_1byte;
end record;
type Soundheaderptr is access Soundheader;
type Modref is
record
Modnumber : Mac_Types.Integer;
Modinit : Longint;
end record;
function Snddocommand
(Chan : Sndchannelptr; Cmd : Sndcommand; Nowait : Boolean)
return Oserr;
pragma Interface (Mpwpascal, Snddocommand, "16#A803#");
function Snddoimmediate
(Chan : Sndchannelptr; Cmd : Sndcommand) return Oserr;
pragma Interface (Mpwpascal, Snddoimmediate, "16#A804#");
function Sndnewchannel (Chan : Sndchannelptr;
Synth : Mac_Types.Integer;
Init : Longint;
Userroutine : Procptr) return Oserr;
pragma Interface (Mpwpascal, Sndnewchannel, "16#A807#");
function Snddisposechannel
(Chan : Sndchannelptr; Quietnow : Boolean) return Oserr;
pragma Interface (Mpwpascal, Snddisposechannel, "16#A801#");
function Sndplay (Chan : Sndchannelptr; Sndhdl : Handle; Async : Boolean)
return Oserr;
pragma Interface (Mpwpascal, Sndplay, "16#A805#");
function Sndcontrol (Id : Mac_Types.Integer; Cmd : Sndcommand) return Oserr;
pragma Interface (Mpwpascal, Sndcontrol, "16#A806#");
procedure Setsoundvol (Level : Mac_Types.Integer);
pragma Interface (Mpwpascal, Setsoundvol, "SETSOUNDVOL");
procedure Getsoundvol (Level : in out Mac_Types.Integer);
pragma Interface (Mpwpascal, Getsoundvol, "GETSOUNDVOL");
procedure Startsound
(Synthrec : Ptr; Numbytes : Longint; Completionrtn : Procptr);
pragma Interface (Mpwpascal, Startsound, "STARTSOUND");
procedure Stopsound;
pragma Interface (Mpwpascal, Stopsound, "STOPSOUND");
function Sounddone return Boolean;
pragma Interface (Mpwpascal, Sounddone, "SOUNDDONE");
function Sndaddmodifier (Chan : Sndchannelptr;
Modifier : Procptr;
Id : Mac_Types.Integer;
Init : Longint) return Oserr;
pragma Interface (Mpwpascal, Sndaddmodifier, "16#A802#");
generic
with procedure Routine (Chan : Sndchannelptr; Cmd : Sndcommand);
procedure Usercallbackroutine;
generic
with procedure Routine;
procedure Usercompletionroutine;
generic
with function Routine (Chan : Sndchannelptr;
Cmd : Sndcommand;
Firstmod : Modifierstubptr) return Boolean;
procedure Usermodifierroutine;
end Sound;
nblk1=8
nid=0
hdr6=10
[0x00] rec0=1e rec1=00 rec2=01 rec3=02a
[0x01] rec0=1d rec1=00 rec2=02 rec3=03c
[0x02] rec0=25 rec1=00 rec2=03 rec3=01c
[0x03] rec0=22 rec1=00 rec2=04 rec3=060
[0x04] rec0=20 rec1=00 rec2=05 rec3=00e
[0x05] rec0=1d rec1=00 rec2=06 rec3=01e
[0x06] rec0=16 rec1=00 rec2=07 rec3=044
[0x07] rec0=1f rec1=00 rec2=08 rec3=000
tail 0x2151d44ec83906e48f34d 0x42a00088462060003