Jump to content
IGNORED

who, of you here have a foot in both the a8 and c64 camps


carmel_andrews

Recommended Posts

I also fail to see 8-bit resolution. The Amiga does 8-bit, and often at low sampling frequency and I don't recall anything sounding that LQ.

 

I think they're having a laugh... maybe just using something like interpolation. I've tried a technique on the A8 which simulates increased bit-depth. You can do a kind of PWM technique where e.g. if a sample needs a value of 34 (for 6-bit), you play sample value 9 for a brief specific period, then play value 8 for the remainder of the sampling period.

 

It improves the quality of the sound playback, but not quite to the quality as if you actually had that increased bitdepth available.

AFAIK, on PAL, using only one SID voice, the sample rate is max ~7884 hz, and the resolution indeed is 8-bit.

(You can go higher, but then the sample res gets worse than 8-bit)

Using 2 or 3 voices you can get up to nearly 16 KHz at 8-bit, using 1 sample channel. (I've heard samples up to even 24 KHz, dunno if it's still 8-bit)

The "Fanta in Space" tune mixes 4 sample channels into one SID voice, and the total sample output is 8-bit.

(so AFAIK it's not full 8-bit *per channel*)

 

On the "Vicious SID" disk there are some examples of converted .MODs.

 

I'm not an expert on this, so my words should be taken with a _large_ pack of salt. (or two)

Could some of the C64 guys in here clarify a bit?

Edited by McLoaf
Link to comment
Share on other sites

AFAIK, on PAL, using only one SID voice, the sample rate is max ~7884 hz, and the resolution indeed is 8-bit.

 

....uh...what?

 

(You can go higher, but then the sample res gets worse than 8-bit)

Using 2 or 3 voices you can get up to nearly 16 KHz at 8-bit, using 1 sample channel. (I've heard samples up to even 24 KHz, dunno if it's still 8-bit)

The "Fanta in Space" tune mixes 4 sample channels into one SID voice, and the total sample output is 8-bit.

(so AFAIK it's not full 8-bit *per channel*)

 

Err, what????

 

On the "Vicious SID" disk there are some examples of converted .MODs.

 

That has nothing to do with bitdepth. Since we're talking about analogue influences to smoothen some effects there...

Link to comment
Share on other sites

The more I mess with this Atari 800, the more I find I don't like something about it compared to the C64 -- I don't have time to take restroom breaks or go make a snack while a game loads... what's up with that? Totally inconvenient. They clearly weren't thinking of the user. Ridiculous.

Link to comment
Share on other sites

I don't see why PAL/NTSC would affect the "bit depth".

 

Only possibilities I can see is if they're using some sort of PWM type method to get interpolated sample values,

or maybe they've found some method to directly control the output of the waveform generator at a specific period in time.

 

This entire "8-bit" sample thing to me just reads like some sort of perceptual thing... if it is using some sort of PWM antics, then we can do it too (and probably better).

Link to comment
Share on other sites

Only possibilities I can see is if they're using some sort of PWM type method to get interpolated sample values,

or maybe they've found some method to directly control the output of the waveform generator at a specific period in time.

They directly use the 8 bit DACs of an oscillator using the triangle wave to get the oscillator to the desired sample level. Another trick is used to not show the entire process at the DAC but keep the previous sample level at the output while the oscillator interpolates.

 

Concerning PWM: That has been done too, but comes with a high pitched noise: Spasmolytic

Link to comment
Share on other sites

I don't see why PAL/NTSC would affect the "bit depth".

 

Only possibilities I can see is if they're using some sort of PWM type method to get interpolated sample values,

or maybe they've found some method to directly control the output of the waveform generator at a specific period in time.

 

This entire "8-bit" sample thing to me just reads like some sort of perceptual thing... if it is using some sort of PWM antics, then we can do it too (and probably better).

 

That and besides Filtered PWM just sounds awful. Just listen to the music in Voodoo People....ewwww :D

Link to comment
Share on other sites

Only possibilities I can see is if they're using some sort of PWM type method to get interpolated sample values,

or maybe they've found some method to directly control the output of the waveform generator at a specific period in time.

They directly use the 8 bit DACs of an oscillator using the triangle wave to get the oscillator to the desired sample level. Another trick is used to not show the entire process at the DAC but keep the previous sample level at the output while the oscillator interpolates.

 

Concerning PWM: That has been done too, but comes with a high pitched noise: Spasmolytic

 

Yeah. That and Voodoo People.

 

But....What 8 bit DAC's??

Link to comment
Share on other sites

They directly use the 8 bit DACs of an oscillator using the triangle wave to get the oscillator to the desired sample level.

But....What 8 bit DAC's??

The DACs which convert the top 8 bits of each oscillator to analog before they are amplified with the ADSR and sent through filter and volume amplification etc.

Link to comment
Share on other sites

But how do they influence the level? I've not seen anything that describes such technique.

 

Surely if this is possible it would be well publicised and described by now.

It's fairly simple: SID oscillators simply add a 16 bit frequency register every clock cycle. The top bits are used to create the resulting waveform, the triangle wave being the most easy from that: just the top 8 bits. The only problem is that it is a triangle wave and no constant sample level, but there is a simple trick: just disable all waveforms and the SID oscillator DAC will keep the last level of the oscillator for a while. So while the DAC still displays the last sample value, the oscillator is already summing up the next one. The summing has a disadvantage: Since the oscillators are 23 bit, it takes 128 cycles to get to a level. This means: A single channel can only play a maximum sample rate of 8 kHz, two channels can play 16 kHz and all three channels can play 24. If you are satisfied with just 7 bits output and half the volume, a single channel can also play 16 kHz too... etc

Link to comment
Share on other sites

Easiest way is to look at a scope :) - if you play a sawtooth sample and the precision shows 256 steps , then it's 8 bits..

( That's how we tested the Replay tables on the ST )

 

- I guess that C64 demo is mixing 4 samples into a single 8 bit channel ( which is pretty good ) - thus leaving the other 2 for normal SID voices

 

Welcome back Crazyace (or have you been here all along). Okay, so the sample is already pre-merged of 4 samples but that's still one channel.

 

Also, even if you get the 256 steps, that does not mean you can do them for arbitrary frequencies and arbitrary samples. That's why I was asking about max sampling rate at 8-bit simulated bit-depth. So if max sampling rate is 8Khz, you can simulate any of the 256 steps within the 125 microsecond time period per sample byte.

Link to comment
Share on other sites

Welcome back Crazyace (or have you been here all along). Okay, so the sample is already pre-merged of 4 samples but that's still one channel.

There is no difference between writing to 4 volume registers successively (like A8 mod players do) and then having them joined to 1 output channel (like POKEY does) or joining the 4 channels per software.

 

Also, even if you get the 256 steps, that does not mean you can do them for arbitrary frequencies and arbitrary samples. That's why I was asking about max sampling rate at 8-bit simulated bit-depth. So if max sampling rate is 8Khz, you can simulate any of the 256 steps within the 125 microsecond time period per sample byte.

8 kHz mixing frequency. Doesn't have anything to do with the actual replay frequency of each channel.

Link to comment
Share on other sites

Welcome back Crazyace (or have you been here all along). Okay, so the sample is already pre-merged of 4 samples but that's still one channel.

There is no difference between writing to 4 volume registers successively (like A8 mod players do) and then having them joined to 1 output channel (like POKEY does) or joining the 4 channels per software.

 

Also, even if you get the 256 steps, that does not mean you can do them for arbitrary frequencies and arbitrary samples. That's why I was asking about max sampling rate at 8-bit simulated bit-depth. So if max sampling rate is 8Khz, you can simulate any of the 256 steps within the 125 microsecond time period per sample byte.

8 kHz mixing frequency. Doesn't have anything to do with the actual replay frequency of each channel.

 

It would make a difference if you were using multiple 4-bit channels to simulate a higher depth volume channel. In software, you eventually truncate to 4-bits whereas in hardware, the hardware generates in-between levels on the speaker.

 

You need time to do the mixing and need to have circuitry which doesn't quickly make the speaker reach peak in less than the 125 microseconds that you have. I noticed that on PCs, some speakers reach full on state in less than 125 microseconds so you don't have the time to generate more levels.

Link to comment
Share on other sites

It would make a difference if you were using multiple 4-bit channels to simulate a higher depth volume channel. In software, you eventually truncate to 4-bits whereas in hardware, the hardware generates in-between levels on the speaker.

4 bits + 4 bits + 4 bits + 4 bits = ~6 bits

 

And:

 

6 bits + 6 bits + 6 bits + 6 bits = ~8 bits

 

You need time to do the mixing and need to have circuitry which doesn't quickly make the speaker reach peak in less than the 125 microseconds that you have. I noticed that on PCs, some speakers reach full on state in less than 125 microseconds so you don't have the time to generate more levels.

Mixing is easier to do than asynchronously playing 4 channels with different frequencies. What do you do if you have to update severall channels the same time? All sane sample players replay all channels at the same frequencies and need to scale the channel frequency to the output/mixing frequency. Btw, the halle project '93 player mixes at approx 6 kHz.

 

Also, high sample frequencies are a non-option on 8 bit computers anyway due to strict memory constraints. Replay at 24 kHz means: 64k memory can fit less than 3 seconds of 8 bit sample.

Link to comment
Share on other sites

Besides my 800xl and the 2 130XE, i have countless Plus/4, a few C16 and the usual Commodore junk.

 

Anyways, its pretty easy to convert Atari 8 bit graphics to C16,Plus/4...

 

You may get a better palette but than you lose other features with the C16/Plus4. And still won't display GTIA modes. And if you are going to use it just for displaying purpose, I suppose you could use a Atari 7800 for its sprites in conjunction with Atari 8-bit machine.

Link to comment
Share on other sites

I don't see why PAL/NTSC would affect the "bit depth".

 

Only possibilities I can see is if they're using some sort of PWM type method to get interpolated sample values,

or maybe they've found some method to directly control the output of the waveform generator at a specific period in time.

 

This entire "8-bit" sample thing to me just reads like some sort of perceptual thing... if it is using some sort of PWM antics, then we can do it too (and probably better).

 

Yeah, I don't think either machine is going to give you a 100% accurate 8-bit DAC-- they all have internal delays.

 

Atari can simulate the 8bit as well but only 4-bit real DAC (but high-speed toggling of the speaker usually is not noticeable).

Link to comment
Share on other sites

It would make a difference if you were using multiple 4-bit channels to simulate a higher depth volume channel. In software, you eventually truncate to 4-bits whereas in hardware, the hardware generates in-between levels on the speaker.

4 bits + 4 bits + 4 bits + 4 bits = ~6 bits

 

And:

 

6 bits + 6 bits + 6 bits + 6 bits = ~8 bits

 

You need time to do the mixing and need to have circuitry which doesn't quickly make the speaker reach peak in less than the 125 microseconds that you have. I noticed that on PCs, some speakers reach full on state in less than 125 microseconds so you don't have the time to generate more levels.

Mixing is easier to do than asynchronously playing 4 channels with different frequencies. What do you do if you have to update severall channels the same time? All sane sample players replay all channels at the same frequencies and need to scale the channel frequency to the output/mixing frequency. Btw, the halle project '93 player mixes at approx 6 kHz.

 

Also, high sample frequencies are a non-option on 8 bit computers anyway due to strict memory constraints. Replay at 24 kHz means: 64k memory can fit less than 3 seconds of 8 bit sample.

 

I don't know where you are getting 6bits + 6bits+6bits+6bits. If you merge samples in software, you have to then map the result to the hardware which is 4-bit volume register with other bits being simulated by a NON-DAC component that affects the volume level. Atari 8-bit can play samples at >20Khz easily w/screen off, and it is an option if you are streaming the data from an I/O port or reading from RAM disk.

Link to comment
Share on other sites

4 bits + 4 bits + 4 bits + 4 bits = ~6 bits

 

And:

 

6 bits + 6 bits + 6 bits + 6 bits = ~8 bits

 

I don't know where you are getting 6bits + 6bits+6bits+6bits. If you merge samples in software, you have to then map the result to the hardware which is 4-bit volume register with other bits being simulated by a NON-DAC component that affects the volume level.

4 bits = range 0...15

6 bits = range 0...63

 

15+15+15+15 = 60 = ~6 bits

 

So the four 4 bit channels added to one channel result in one "almost 6 bit" channel.

 

If you invert that calculation on the 8 bit channel used for the tune I mentioned, you get four channels of atleast 6 bit (range 0...63) accuracy if the output channel is 8 bits (0...255).

 

Atari 8-bit can play samples at >20Khz easily w/screen off, and it is an option if you are streaming the data from an I/O port or reading from RAM disk.

20 kHz replay is not a problem if you only play one channel. Btw, the 2nd part of "Vicious Sid" is streaming sample data from disk.

Link to comment
Share on other sites

Isn't the big win the fact that if you get an 8 bit sample using the oscillator on the c64 - this is then run through the ADSR . Wouldn't that give you 12 bits? Take 2 voices and you almost match some of the earliest CD players :)

 

I've not looked at Pokey in detail, are there any noise settings that would give PWM effects when played at high frequency? ( >64KHz )

 

( When I did audio for the 8 bit originaly I never thought about trying for better than 4 bit samples :) - the A/D on replay was 8 bit, but 4 bits was trimmed in the software as samples took so much memory )

Link to comment
Share on other sites

4 bits + 4 bits + 4 bits + 4 bits = ~6 bits

 

And:

 

6 bits + 6 bits + 6 bits + 6 bits = ~8 bits

 

If I understand that correctly, you'd still have to do software volume before mixing all channels into a single 8bit DAC output. So unless the samples are played at max volume all the time, they'll loose fidelity due to the downward multiplication LUT for linear volume. Or right shifts for LOG volumes.

 

Is the A8 4bit DAC method using the hardware volume in conjunction with a waveform state to get 4bit output, or is the hardware volume mechanism free to change? Is the hardware volume of each channel on the POKEY LOG? What's the resolution of the volume levels?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...