Browse code

Added position readout to audio devices

Andrew Alderwick authored on 27/04/2021 20:03:38
Showing 5 changed files
... ...
@@ -25,10 +25,10 @@
25 25
 |00 @System [ &vector $2 &pad $6 &r $2 &g $2 &b $2 ]
26 26
 |10 @Console [ &vector $2 &pad $6 &char $1 &byte $1 &short $2 &string $2 ]
27 27
 |20 @Screen [ &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &color $1 ]
28
-|30 @Audio0 [ &vector $2 &output $1 &pad $5 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ]
29
-|40 @Audio1 [ &vector $2 &output $1 &pad $5 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ]
30
-|50 @Audio2 [ &vector $2 &output $1 &pad $5 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ]
31
-|60 @Audio3 [ &vector $2 &output $1 &pad $5 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ]
28
+|30 @Audio0 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ]
29
+|40 @Audio1 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ]
30
+|50 @Audio2 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ]
31
+|60 @Audio3 [ &vector $2 &position $2 &output $1 &pad $3 &adsr $2 &len $2 &addr $2 &volume $1 &pitch $1 ]
32 32
 |80 @Controller [ &vector $2 &button $1 &key $1 ]
33 33
 |90 @Mouse [ &vector $2 &x $2 &y $2 &state $1 &chord $1 ]
34 34
 |a0 @File [ &vector $2 &success $2 &offset $2 &pad $2 &name $2 &length $2 &load $2 &save $2 ]
... ...
@@ -12,11 +12,11 @@
12 12
 
13 13
 |00 @System     [ &vector $2 &pad      $6 &r      $2 &g     $2 &b      $2 ]
14 14
 |10 @Console    [ &pad    $8 &char     $1 &byte   $1 &short $2 &string $2 ]
15
-|20 @Screen     [ &vector $2 &width    $2 &height $2 &pad   $2 &x      $2 &y     $2 &addr $2 &color $1 ]
16
-|30 @Audio0     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
17
-|40 @Audio1     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
18
-|50 @Audio2     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
19
-|60 @Audio3     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
15
+|20 @Screen     [ &vector $2 &width    $2 &height $2 &pad   $2 &x      $2 &y      $2 &addr $2 &color $1 ]
16
+|30 @Audio0     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr $2 &volume $1 &pitch $1 ]
17
+|40 @Audio1     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr $2 &volume $1 &pitch $1 ]
18
+|50 @Audio2     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr $2 &volume $1 &pitch $1 ]
19
+|60 @Audio3     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr $2 &volume $1 &pitch $1 ]
20 20
 |70 @Midi       [ &vector $2 &channel  $1 &note   $1 &velocity $1 ]
21 21
 |80 @Controller [ &vector $2 &button   $1 &key    $1 ]
22 22
 |90 @Mouse      [ &vector $2 &x        $2 &y      $2 &state $1 &chord  $1 ]
... ...
@@ -2,13 +2,13 @@
2 2
 
3 3
 ( devices )
4 4
 
5
-|00 @System     [ &vector $2 &pad      $6 &r      $2 &g     $2 &b      $2 ]
5
+|00 @System     [ &vector $2 &wst      $1 &rst    $1 &pad   $4 &r      $2 &g     $2 &b      $2 ]
6 6
 |10 @Console    [ &pad    $8 &char     $1 &byte   $1 &short $2 &string $2 ]
7
-|20 @Screen     [ &vector $2 &width    $2 &height $2 &pad   $2 &x      $2 &y     $2 &addr   $2 &color $1 ]
8
-|30 @Audio0     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
9
-|40 @Audio1     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
10
-|50 @Audio2     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
11
-|60 @Audio3     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
7
+|20 @Screen     [ &vector $2 &width    $2 &height $2 &pad   $2 &x      $2 &y      $2 &addr  $2 &color $1 ]
8
+|30 @Audio0     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
9
+|40 @Audio1     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
10
+|50 @Audio2     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
11
+|60 @Audio3     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
12 12
 |70 @Midi       [ &vector $2 &channel  $1 &note   $1 &velocity $1 ]
13 13
 |80 @Controller [ &vector $2 &button   $1 &key    $1 ]
14 14
 |90 @Mouse      [ &vector $2 &x        $2 &y      $2 &state $1 &chord $1 ]
... ...
@@ -18,11 +18,11 @@
18 18
 
19 19
 |00 @System     [ &vector $2 &pad      $6 &r      $2 &g     $2 &b      $2 ]
20 20
 |10 @Console    [ &pad    $8 &char     $1 &byte   $1 &short $2 &string $2 ]
21
-|20 @Screen     [ &vector $2 &width    $2 &height $2 &pad   $2 &x      $2 &y     $2 &addr   $2 &color $1 ]
22
-|30 @Audio0     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
23
-|40 @Audio1     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
24
-|50 @Audio2     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
25
-|60 @Audio3     [ &vector $2 &output   $1 &pad    $5 &adsr  $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
21
+|20 @Screen     [ &vector $2 &width    $2 &height $2 &pad   $2 &x      $2 &y      $2 &addr  $2 &color  $1 ]
22
+|30 @Audio0     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
23
+|40 @Audio1     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
24
+|50 @Audio2     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
25
+|60 @Audio3     [ &vector $2 &position $2 &output $1 &pad   $3 &adsr   $2 &length $2 &addr  $2 &volume $1 &pitch $1 ]
26 26
 |70 @Midi       [ &vector $2 &channel  $1 &note   $1 &velocity $1 ]
27 27
 |80 @Controller [ &vector $2 &button   $1 &key    $1 ]
28 28
 |90 @Mouse      [ &vector $2 &x        $2 &y      $2 &state $1 &chord $1 ]
... ...
@@ -252,9 +252,12 @@ static void
252 252
 audio_talk(Device *d, Uint8 b0, Uint8 w)
253 253
 {
254 254
 	Apu *c = &apu[d - devaudio0];
255
-	if(!w && b0 == 0x2) {
256
-		d->dat[0x2] = apu_get_vu(c);
257
-	} else if(w && b0 == 0xf) {
255
+	if(!w) {
256
+		if(b0 == 0x2)
257
+			mempoke16(d->dat, 0x2, c->i);
258
+		else if(b0 == 0x4)
259
+			d->dat[0x4] = apu_get_vu(c);
260
+	} else if(b0 == 0xf) {
258 261
 		SDL_LockAudioDevice(audio_id);
259 262
 		c->len = mempeek16(d->dat, 0xa);
260 263
 		c->addr = &d->mem[mempeek16(d->dat, 0xc)];