Contemporany 6502 compatible hardware (chips, actually).
Re: Contemporany 6502 compatible hardware (chips, actually).
I was inspired to take the dive and order a bunch of the VLSI video chip, as my project is targeted at composite video output to TVs. Sadly it doesn't look like the blitting logic lets you choose a "transparent" color like my circuit does, but my circuit also has 50-60 DIP ICs spanning two boards to do basically the same thing.
Incidentally I noticed that they also sell a chip that can act as basically a MIDI synthesizer. My own soundcard design is also pretty dense, so I'll save a lot of space (and soldering!) by switching to a single-chip solution.
Incidentally I noticed that they also sell a chip that can act as basically a MIDI synthesizer. My own soundcard design is also pretty dense, so I'll save a lot of space (and soldering!) by switching to a single-chip solution.
Re: Contemporany 6502 compatible hardware (chips, actually).
Agumander wrote:
I was inspired to take the dive and order a bunch of the VLSI video chip, as my project is targeted at composite video output to TVs. Sadly it doesn't look like the blitting logic lets you choose a "transparent" color like my circuit does, but my circuit also has 50-60 DIP ICs spanning two boards to do basically the same thing.
Agumander wrote:
Incidentally I noticed that they also sell a chip that can act as basically a MIDI synthesizer. My own soundcard design is also pretty dense, so I'll save a lot of space (and soldering!) by switching to a single-chip solution.
Re: Contemporany 6502 compatible hardware (chips, actually).
tokafondo wrote:
Agumander wrote:
Incidentally I noticed that they also sell a chip that can act as basically a MIDI synthesizer. My own soundcard design is also pretty dense, so I'll save a lot of space (and soldering!) by switching to a single-chip solution.
Woops! I have to look for that!!
Re: Contemporany 6502 compatible hardware (chips, actually).
tokafondo wrote:
Is the "4 bytes sequencial write in parallel mode" requeriment an issue for you?
tokafondo wrote:
Too simple and restrictive for my taste. I hope you can prove me wrong!
My current audio prototype provides two square waves, a noise channel, and a sample playback channel. Individually the channels work fine, but I'm having a heck of a time with the analog mixing design to combine the signals from the channels without creating distortion. Analog, it seems, isn't coming to me as naturally as Digital. With the VLSI chip I'll have a more powerful audio system and have the messy analog stuff handled for me.
Random aside: Having spent so long working on these designs, I'm a little sad to just toss it aside for these convenient all-in-ones. I think I'll basically fork my own project to separate conflicting goals. The game console gets to be compact and stable, while the massive DIP-chip design migrates into a desktop computer form-factor where I can expand on its features that the VLSI chip doesn't have.
Re: Contemporany 6502 compatible hardware (chips, actually).
Agumander wrote:
Random aside: Having spent so long working on these designs, I'm a little sad to just toss it aside for these convenient all-in-ones. I think I'll basically fork my own project to separate conflicting goals. The game console gets to be compact and stable, while the massive DIP-chip design migrates into a desktop computer form-factor where I can expand on its features that the VLSI chip doesn't have.
But then, a way to control how the voltage is applied to those chips to change the frequency should be implemented... by another chip.
And then, a mixer that would be able to send every one of the input channels or tracks to the left or right channel...
I think sound card could be made with a circuit board the size of olympic pool, but yes, it would be doable...
Re: Contemporany 6502 compatible hardware (chips, actually).
@Agumander.... look at this and tell me what do you think.
https://www.youtube.com/watch?v=ATLEfqlw10A
https://www.dream.fr/items.php?item=4
https://www.youtube.com/watch?v=ATLEfqlw10A
https://www.dream.fr/items.php?item=4
Re: Contemporany 6502 compatible hardware (chips, actually).
tokafondo wrote:
@Agumander.... look at this and tell me what do you think.
https://www.youtube.com/watch?v=ATLEfqlw10A
https://www.dream.fr/items.php?item=4
https://www.youtube.com/watch?v=ATLEfqlw10A
https://www.dream.fr/items.php?item=4
Manipulating voltages into a circuit that's essentially an analog synth rack would be neat, though it would end up being rather dependent on temperature and other environmental conditions. My audio board works by setting counter values, and toggling a flip-flop whenever a counter hits zero. What I'd like to do is replace my attempted audio mixing with adder chips, to do the summing in the digital domain and only deal with one DAC.
On the other hand, if the audio chips are actually just microcontrollers under the hood, then maybe we might as well write our DSP code in good old 6502 assembly. If you ran a 65C02 co-processor at 14MHz you'd have around 60 clock cycles available for computing each audio sample, if you wanted to keep up a sample rate of 44.1kHz.
You could communicate with the secondary processor by a few shared registers and interrupts, or a whole dual-ported RAM chip, or even just one register for sending bytes one at a time. This would make the audio system fairly flexible while still maintaining that "6502 flavor"
Re: Contemporany 6502 compatible hardware (chips, actually).
Agumander wrote:
Manipulating voltages into a circuit that's essentially an analog synth rack would be neat, though it would end up being rather dependent on temperature and other environmental conditions. My audio board works by setting counter values, and toggling a flip-flop whenever a counter hits zero. What I'd like to do is replace my attempted audio mixing with adder chips, to do the summing in the digital domain and only deal with one DAC.
On the other hand, if the audio chips are actually just microcontrollers under the hood, then maybe we might as well write our DSP code in good old 6502 assembly. If you ran a 65C02 co-processor at 14MHz you'd have around 60 clock cycles available for computing each audio sample, if you wanted to keep up a sample rate of 44.1kHz.
You could communicate with the secondary processor by a few shared registers and interrupts, or a whole dual-ported RAM chip, or even just one register for sending bytes one at a time. This would make the audio system fairly flexible while still maintaining that "6502 flavor"
On the other hand, if the audio chips are actually just microcontrollers under the hood, then maybe we might as well write our DSP code in good old 6502 assembly. If you ran a 65C02 co-processor at 14MHz you'd have around 60 clock cycles available for computing each audio sample, if you wanted to keep up a sample rate of 44.1kHz.
You could communicate with the secondary processor by a few shared registers and interrupts, or a whole dual-ported RAM chip, or even just one register for sending bytes one at a time. This would make the audio system fairly flexible while still maintaining that "6502 flavor"
There was this parallel port poor man's sound card, the Covox Speech thing, that, with a resistor ladder, formed a primitive DAC. Today, a DAC is one of the cheap, basic chips available everywhere, from many manufacturers.
Please help me to understand here: What's the transfer rate of a parallel port controlled by a 65xx cpu, writing 8 bit data? At first, it seems to me that sending 44100 values of 8 bit each second shouldn't be a problem for even a 1Mhz computer... Or is it the timing of the data bus, or the parallel chip (W65C22 for example) what limits the speed?
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: Contemporany 6502 compatible hardware (chips, actually).
tokafondo wrote:
Please help me to understand here: What's the transfer rate of a parallel port controlled by a 65xx cpu, writing 8 bit data? At first, it seems to me that sending 44100 values of 8 bit each second shouldn't be a problem for even a 1Mhz computer... Or is it the timing of the data bus, or the parallel chip (W65C22 for example) what limits the speed?
At 1MHz, that would give you about six machine-language instructions per sample, which might be enough (barely) for the speed, but won't be enough to keep the timing consistent and keep the jitter (and thus the noise and distortion) down. Please see my short discussion on jitter and required numbers of samples and bit in the 6502 primer's circuit potpourri page, at http://wilsonminesco.com/6502primer/potpourri.html#JIT . You'll probably want to use a timer interrupt to keep the timing consistent enough. That will incur the interrupt and RTI overhead; but I'm sure you don't need 44.1KSPS for what you want to do anyway. I've done about 140,000 samples per second on my 5MHz 65c02 workbench computer, run on a timer interrupt, but I usually stick to 24,000 or so. For a really simple D/A converter, you can even use the 6522's SR in a way similar to PWM. See it a little above the jitter discussion, using the <Ctrl>F search term "For a super-simple 9-level D/A converter".
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: Contemporany 6502 compatible hardware (chips, actually).
tokafondo wrote:
Please help me to understand here: What's the transfer rate of a parallel port controlled by a 65xx cpu, writing 8 bit data? At first, it seems to me that sending 44100 values of 8 bit each second shouldn't be a problem for even a 1Mhz computer... Or is it the timing of the data bus, or the parallel chip (W65C22 for example) what limits the speed?
At 1MHz system clock your budget would be quite a bit tighter at 22 cycles. Simply fetching audio from memory wouldn't really be an issue, but if you wanted to do fancy summing or waveform generation you'd be quite limited. Especially if you have other note parameters or controls to track.
Re: Contemporany 6502 compatible hardware (chips, actually).
GARTHWILSON wrote:
tokafondo wrote:
Please help me to understand here: What's the transfer rate of a parallel port controlled by a 65xx cpu, writing 8 bit data? At first, it seems to me that sending 44100 values of 8 bit each second shouldn't be a problem for even a 1Mhz computer... Or is it the timing of the data bus, or the parallel chip (W65C22 for example) what limits the speed?
At 1MHz, that would give you about six machine-language instructions per sample, which might be enough (barely) for the speed, but won't be enough to keep the timing consistent and keep the jitter (and thus the noise and distortion) down. Please see my short discussion on jitter and required numbers of samples and bit in the 6502 primer's circuit potpourri page, at http://wilsonminesco.com/6502primer/potpourri.html#JIT . You'll probably want to use a timer interrupt to keep the timing consistent enough. That will incur the interrupt and RTI overhead; but I'm sure you don't need 44.1KSPS for what you want to do anyway. I've done about 140,000 samples per second on my 5MHz 65c02 workbench computer, run on a timer interrupt, but I usually stick to 24,000 or so. For a really simple D/A converter, you can even use the 6522's SR in a way similar to PWM. See it a little above the jitter discussion, using the <Ctrl>F search term "For a super-simple 9-level D/A converter".
I was looking and found that some of the communications chips that (I think) would work with the 6502, have a faster timing than the 70ns @14mhz of the VIA chip. Would that mean that even higher sampling rates could be achieved, or better sound quality could be achieved, having the CPU more instructions per sample to work with?
Re: Contemporany 6502 compatible hardware (chips, actually).
tokafondo wrote:
I was looking and found that some of the communications chips that (I think) would work with the 6502, have a faster timing than the 70ns @14mhz of the VIA chip. Would that mean that even higher sampling rates could be achieved, or better sound quality could be achieved, having the CPU more instructions per sample to work with?
- BigDumbDinosaur
- Posts: 9426
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Contemporany 6502 compatible hardware (chips, actually).
tokafondo wrote:
I was looking and found that some of the communications chips that (I think) would work with the 6502, have a faster timing than the 70ns @14mhz of the VIA chip.
Assuming non-6502 I/O parts, you may be generating /RD and /WD signals, which have to be gated by Ø2 so they don't go true during Ø2 low. You will lose anywhere from 4 to 10ns due to a gate delay between Ø2 and /RD or /WD, plus the time needed by the addressed device to react to its /OE or /WE input. Between those two delays, up to 20ns (worst-case) could elapse before any data actually appears. So a faster I/O device won't necessarily result in better performance, since glue logic delays don't change.
Incidentally, the 65C22 has an advantage here, as its operation is synchronous to the Ø2 clock. Chip selects and RWB have to be valid before the rise of Ø2, which means the 65C22 will be somewhat quicker in reacting with the rise of the clock than a device that requires /RD and /WD. In Garth's application, that characteristic of the 'C22 is helping in getting jitter-free results.
Quote:
Would that mean that even higher sampling rates could be achieved, or better sound quality could be achieved, having the CPU more instructions per sample to work with?
As explained by Garth, I think you may be underestimating the level of processing performance it would take to get jitter-free audio in a 6502-based system, even with limiting the audio quality to 8-bit samples at a sample rate well below the 44K used with CD-quality audio. The 65C02 can be run up to 20 MHz if things are right, but the rest of the circuit has to be able to run in a stable fashion at that speed.
x86? We ain't got no x86. We don't NEED no stinking x86!
Re: Contemporany 6502 compatible hardware (chips, actually).
> When trying to predict how well a particular I/O device will perform in a 65C02 system, you can only base that prediction on the Ø2 high period
Indeed, if you're using phi2 to qualify control signals: I believe other approaches are possible.
Indeed, if you're using phi2 to qualify control signals: I believe other approaches are possible.
Re: Contemporany 6502 compatible hardware (chips, actually).
Couldn't you avoid audio jitter by using a couple of '573s as a really short FIFO buffer? In exchange for a sample or two's worth of lag you wouldn't have to worry about sending the sample *early* so long as you don't send it late. Which seems easier to program for.