Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
716 lvd 1
#pragma once
2
 
3
struct GSHLE
4
{
5
   unsigned char gsstat;// command and data bits
6
   unsigned char gscmd;
7
   unsigned char busy;  // don't play fx
8
   unsigned char mod_playing;
9
 
10
   unsigned modvol, fxvol; // module and FX master volumes
11
   unsigned used;       // used memory
12
   unsigned char *mod; unsigned modsize; // for modplayer
13
   unsigned total_fx;      // samples loaded
14
   unsigned cur_fx;        // selected sample
15
 
16
   unsigned char data_in[8];// data register
17
   unsigned char gstmp[8], *resptr; unsigned resmode; // from GS
18
   unsigned char *to_ptr; unsigned resmod2; // to GS
19
 
20
   unsigned char *streamstart; unsigned streamsize;
21
   unsigned char load_stream;
22
 
23
   unsigned char loadmod, loadfx; // leds flags
24
 
25
   unsigned char badgs[0x100]; // unrecognized commands
26
   unsigned note2rate[0x100];
27
 
28
   struct SAMPLE {
29
      unsigned char *start;
30
      unsigned loop, end;
31
      unsigned char volume, note;
32
   } sample[64];
33
 
34
   struct CHANNEL {
35
      unsigned char *start;
36
      unsigned loop, end, ptr;
37
      unsigned volume, freq;
38
      HSTREAM bass_ch;
39
      unsigned char busy;
40
   } chan[4];
41
 
42
   unsigned char in(unsigned char port);
43
   void out(unsigned char port, unsigned char byte);
44
   void reset();
45
   void reset_sound();
46
   void applyconfig();
47
 
48
   void set_busy(unsigned char newval);
49
   void start_fx(unsigned fx, unsigned chan, unsigned char vol, unsigned char note);
50
   void flush_gs_frame(); // calc volume values for leds
51
 
52
   HMUSIC hmod;
53
 
54
   void runBASS();
55
   void initChannels();
56
   void setmodvol(unsigned vol);
57
   void init_mod();
58
   void restart_mod(unsigned order, unsigned row);
59
   void startfx(CHANNEL *ch, float pan);
60
   void resetmod();
61
   void resetfx();
62
   DWORD modgetpos();
63
   void stop_mod();
64
   void cont_mod();
65
   void debug_note(unsigned i);
66
 
67
   void reportError(const char *err, bool fatal = false);
68
};