Changes

Digiblaster howto

1,155 bytes added, 08:08, 6 November 2017
/* Diagram (Digiblaster v2) (Joshua) */
text copied from: [http://cpcrulezwww.freeoctoate.frde/ CPC RulesOctoate.de]
== CPC-Digiblaster v1.0 and v2.0 ==
The original Text was written by A.Stroiczek and the [[DMV]]-Verlag ([[CPC Schneider International]] 8/9'91), the hardwarelayout of the Digiblaster v2.0 was performed by [[Joshua]]/Exodus and converted by Tim Riemann (TCS-Software@gmx.de)[[Octoate]].
* '''CPC-Digiblaster - The sound of the printer port'''
If we're looking at the 16bit computers like Amiga, Atari ST, Mac and PC (with a soundcard) the CPC users can be jealous.
To play 8bit samples you need a 8bit interface and a circuit which changes the values in a power value. The printer port has 8bit and a 5V power supply (Bit 7 = STROBE).
* '''The printer port makes it possible'''
To build a D/A unit you normally need a special IC which costs about 15 to 20 DM and it needs an own power supply.
You can connect the output of the circuit directly to an amplifier.
* '''All good things are three'''
Of course, the D/A unit needs a small demo program.
The program writes directly to the hardware of the CPC.
You can use the port with the adress address &EFxx.
Because the CPC has only a 7bit printer port (we need 8bit for the Digiblaster) we use the STROBE signal, which is inverted by the hardware, so you have to invert your sound value.
Now we want to output the value &C5:
<pre> LD a,&C5 ;A=&C5 LD B,&EF ;load the port adress address XOR &80 ;invert the 7th bit OUT (C),A ;out to the printer port LD a,&C5 ;A=&C5 LD B,&EF ;load the port adress XOR &80 ;invert the 7th bit OUT (C),A ;out to the printer port </pre>
The accu is the register A.
The pins that are not named are not connected.
* '''Easy converting'''
How often you print out the values it is called the sampling rate.
It is possible to play some instruments at the same time. You have to add the values and divide them. I think that 4 channel sound is possible with the CPC.
''[[Face Hugger|A. Stroiczek]]''
== Diagram Differences between v1 and v2 ==
WellBoth versions are doing more or less the same (and are compatible at software side). Both versions produce linear D/A conversion (though in v1 the conversion is glitchy, here v2 is more accurate). Also, in v2, the circuit plan: 470 Ohm POT is replaced by a normal 470 Ohm resistor plus 22uF capacitor.
[[ImageThe different resistor values are:digiblaster diagram.jpg]]Sorry STB D6 D5 D4 D3 D2 D1 D0 v1 1K 2K2 4K7 10K 22K 39K 82K 150K v2 1K 2K 4K 8K 16K 32K 64K 128KWhere v1 uses standard E12-series values. Whilst v2 uses less common values like 2K (which you may not have at home), I hadnand even totally non-standard values like 4K (which aren't enough time manufactured, and need to draw the circuit plan properly (maybe that's something you could do ;-be produced by using two 2K resistors)!.
== Notes ==
 
* '''Caution''' Both schematics connect GND to Pin9, which works on the CPC's (unmodified) [[Connector:Printer_port|7bit printer port]], but not on (upgraded) [[8bit Printer Ports]], so better connect GND elsewhere (eg. Pin19).
 
* As said above, Strobe is inverted by the CPC's printer port hardware. And, when using '''unsigned''' samples, it must be actually inverted by software. However, with '''signed''' samples, that hardware feature is just perfect, and no inversion is needed.
 
== Diagram (Digiblaster v1) (Andreas Stroiczek) ==
 
[[Image:Digiblaster_diagram_v1.png]]
 
== Diagram (Digiblaster v2) (Joshua) ==
 
[[Image:digiblaster diagram.jpg]]
Parts you need:
</pre>
''Converted 1996/1998 by Tim Riemann (TCS-Software@gmx.de)[[Octoate]]'''
[[Category:Digiblaster]][[Category:DIY]][[Category:Programming]] [[Category:Printers and printer ports]] [[Category:Music and sound]]
2,002
edits