Jump to content

Bryan

Members
  • Posts

    10,921
  • Joined

  • Last visited

  • Days Won

    11

Posts posted by Bryan

  1. I've been looking over the topic and I have a quick question. I discovered a while back that you could get a triangle by letting 2 square waves beat out of phase. Basically, the output would shift between 2 voltages:

    While in phase, and for sufficiently high oscillator frequencies, you would get the true average of (max+min)/2.

    While out of phase, you would get the electrical average based on the resistor output network in Pokey, resulting a slightly different value.

     

    This makes the output shift back and forth creating a triangle, but a very quiet one. To make matters worse, I don't think it produced the same output level in every Pokey. I experimented with different volume levels and adding extra channels to it, but haven't looked at it in some time. Has another method to generate triangles been discovered yet?

    • Like 2
  2. I haven't done any Atari programming lately, but I had an idea that requires me to get around the 100% bus usage of the first line of IR2 in a few spots. Now, I could make that region IR15, but that would add a lot of overhead. Is there a way using an out of range VSCROL value (like, maybe 8?) that will read the character names once, then show all 8 character lines twice? That way, I could simply swap character sets for the 2nd 8 lines and get different data while being able to do mid-line writes everywhere except the first line.

     

    So...

    I want one badline to get the character names on line 0, then lines 1,2,3,4,5,6,7,0,1,2,3,4,5,6,7, totaling 16 lines, 2 character rows of the same thing.

    - I know entering a VSCROL region starts on the line you specify, but will the character end when line 15 wraps to 0, or only when line 7 wraps to 0?

    - I know exiting a VSCROL region starts on 0 and exits on the line you specify. Does selecting something higher than 7 keep repeating the character? 

    - I'm aware that lines 8&9 would have limitations due to IR3 always being active in there somewhere. I think I can just rearrange the character set.

    - If this method won't work, is there another way to fake Antic out?

     

    I guess in my mind, Atari programming isn't fun unless you're hammering the hardware in some way to make the impossible happen. Normally, I'd whip something up but I'm rusty enough to ask before I try to get set up to code again (any good thread on the best way to code alongside Altirra these days?)

    Thanks,

    Bry

    • Like 1
  3. 12 minutes ago, ivop said:

    IIRC Mahoney uses the gate bit extensively. "We" could use STIMER to reset phase.

     

    Just thinking here... There may be a way to get some crude alignment on 2 voices with AUDCTL, especially if you can base some pitches off the 15KHz clock. Load the intended pitch, but flip to the 1.8MHz clock until you want the wave to start. You'll get ultrasonic (silent) waves until you flip back and then the slow wave starts.

     

    EDIT: I guess that's no better than cramming a divisor of 0, though except that it would affect 2 voices at once. Although flipping to the fast clock would run out the timer on the current pitch quickly since you can't align anything until the counter expires.

  4. 2 hours ago, R0ger said:

    Anyway I wonder what have you read, as I could basically find nothing.

    Just the datasheets, app notes and emulation info on old voice chips. Looking at the requirements.

    19 minutes ago, ivop said:

    You're right, but they use the same principle @Bryan proposed. Determine the three most dominant frequencies in a certain time slice and replay those with your soundchip. SID in this case. IIRC their time slice is 20ms, i.e. one PAL frame.

     

    Here it is used to replay an a-capella song, but it could just as well be used to play phonemes and concatenate them for words and sentences.

     

    Pokey could do four instead of three channels, but with square waves and not sine waves. And phase alignment will be a problem, too.

     

    Well, I believe you can align a voice by:

    1. knowing the cycles since Pokey was reset (using WSYNC alignment or maybe triggering an interrupt off a voice?)

    2. cramming a short pitch value (perhaps at 0 volume) to delay the next square wave.

    Cycle counting would be needed, but at least locking to scan lines makes it deterministic.

     

    I've also thought about the sounds Alley Cat makes. It's possible there's enough poly sounds already in there that would be suitable for a crude robot voice if you could find them all.

  5. After reading old documentation on speech synthesis, I'm convinced that intelligible speech can be done on Pokey without the overhead of sampled phonemes. You need to identify the main frequency components and type of noise (f, s, t sounds) needed and change them at regular intervals through the phoneme. The poly sounds could be really good for getting basic combinations of frequencies too.

  6. I want to give everyone an update:

     

    I have been working full-time on renovating my house to sell. As many of you know, my wife and I spent 3 1/2 years in Costa Rica and I had a large freelance job lined up that I thought would provide income while we were there. Well, it kinda fizzled due to a lack of interest from the other party and when my wife and I moved back, we were deeply in debt. I bought a cheap fixer-upper house in Michigan so my wife could take care of her mother with advanced diabetes. At first, we were going to live here and slowly work off our debts, but with the rising real estate market combined with a generous offer to live cheaply with friends, it has become important to finish up my repairs and sell the house ASAP for a fresh start. To this end I've been living in a construction zone and maxing out my credit cards to get the work finished and I hope I'm in my final month of this gigantic task (this house was cute, but completely trashed in every way).

     

    I'm shipping out current orders as I can make the time, and I hope to resume development of future products as soon as I get my lab set up again somewhere else. I know I still have PMs to answer and I'll fill as many remaining orders as I can, but I'm not planning on ordering any more boards until next year. I just wanted to explain why I dropped out of sight for a little while.

     

    -Bryan

    • Like 10
  7. Why are "written" cells zero instead of one?

    I believe it saved an extra transistor per bit cell. With EPROMs, you're basically charging a small floating capacitor acting as the gate of a FET. With no charge present (erased cell), the FET conducts and this is represented by a 1. Once the gate is charged, the FET no longer conducts. UV light can excite the electrons enough that they tunnel through the barrier and discharge the gate (and, they'll discharge themselves naturally over the next 20-50 years).

    • Like 2
  8. Interesting. Now we have a new white elephant to chase. :P Maybe Revision A was used when the "Atari 810 Disk Peripheral Device Description" document was written

     

    I deleted my comment about a Rev A ROM. The Tech-Tip was actually talking about the computer OS even though it was included in the 810 FSM. It would be interesting to see if there ever was a Rev A released. Maybe in a prototype drive. One thing is clear from the Tech-Tips, Atari had a lot of problems getting this thing to work right at first.

  9. Here's a (rough) picture of the ROM in the schematic. Notice how they labeled the chip selects on the left as active low, but pulled them high? They are indeed active high, but that makes them incompatible with any 23 or 25 series EPROM I know of. Mask ROMs often have optional inverters on these pins allowing you to pick the polarity. This is how they made all those 2600 games respond to A12 properly.

     

    -Bry

    post-3606-0-33756400-1528131745.jpg

    • Like 1
  10. The 5200 is a mess. The 16Kx1 DRAM pulls a LOT of power during refresh and the power conditioning on the UAV apparently isn't enough to overcome it. I'm planning on coming up with some board mods to further isolate the DRAM from the supply.

  11. Hi everyone.

     

    I've been pulled away from my Atari projects for a little bit, so I've ordered a small run of UAV Rev D boards to keep them available until I have more time.

     

    The available options are currently:

    Basic $22

    Plug-In $25

    Kit $25

    XEL $25

    5200 low-profile build $25

     

    I'm getting caught up with PMs as well so let me know if I've forgotten anyone.

    • Like 6
×
×
  • Create New...