Shop OBEX P1 Docs P2 Docs Learn Events
AYCog a drop-in replacement? — Parallax Forums

AYCog a drop-in replacement?

cbmeekscbmeeks Posts: 634
edited 2015-03-10 09:16 in Propeller 1
Hello all.

I have built a hardware VGM player (video game music) that works with a real AY-3-8912 and an Arduino.

But the more I read about audio/video work with micro-controllers, the more I see the propeller being mentioned. So here I am today, about to receive my new propeller dev board this week.

Anyway, one of the many projects I want to do (almost all are related to audio/video) is a Mockingboard clone for the Apple IIe. For those that don't know, the Mockingboard was a sound card for the Apple IIe that tied in one or two AY-3-8910's (or a variation). I have also built one on a protoboard using real AY's.

As you know, AY's haven't been made in years and are getting harder to find. Only available from Chinese companies that are probably selling off old stock.

So my question is, not knowing a lot about propeller at the moment, could the AYcog code that Ahlebrand wrote be modified (reasonably easily) to convert a few pins on the propeller and work as a real AY?

I hope that makes sense. But, instead of playing music from hub ram, it actually receive data on 8 pins like the real AY, latch the value, use the BS1/etc. control lines, etc.

If a propeller could be used as a drop-in replacement for a real AY-3-8910 then that would be a pretty sweet system. And, throw in some glue logic and it seems like we could get 2-3 AY's from one propeller for some serious 80's retro action. :-)

Thanks.

Comments

  • kwinnkwinn Posts: 8,697
    edited 2015-03-09 11:35
    Might be doable if you don't need to include both I/O ports, and making a pin compatible drop in would be difficult if that's what you had in mind.
  • Ahle2Ahle2 Posts: 1,179
    edited 2015-03-09 12:07
    This is totally doable! I have had the same idea for years (Sinclair Spectrum, C64), but I have never actually done anything yet.
    Each emulated PSG takes a single core, so it should be possible to have a lot of them running at the same time. One cog will be the glue of course, interfacing with the host computers bus. As far as I know, AYcog is an almost perfect emulation of the real PSG, so this project could be a great replacement for those sound cards. How about 2 AYcogs, 2 SIDcogs and a SN76489 running in the same Apple II?! ;)

    /Johannes
  • cbmeekscbmeeks Posts: 634
    edited 2015-03-09 12:34
    Ahle2 wrote: »
    This is totally doable! I have had the same idea for years (Sinclair Spectrum, C64), but I have never actually done anything yet.
    Each emulated PSG takes a single core, so it should be possible to have a lot of them running at the same time. One cog will be the glue of course, interfacing with the host computers bus. As far as I know, AYcog is an almost perfect emulation of the real PSG, so this project could be a great replacement for those sound cards. How about 2 AYcogs, 2 SIDcogs and a SN76489 running in the same Apple II?! ;)

    /Johannes

    Oh yeah, you and I are on the same page!

    My VGM player currently supports the AY-3-891X and the SN76489. Sounds amazing.

    I'm not interested in the I/O at all. So I wouldn't need those pins. On the Mockingboard, pin A7 from the address bus is inverted through a 6522 so that the audio can pick between two different AY's. So that would be easy to do. Just map a pin from the prop to A7 of the apple and a cog could detect high/low and route to an alternating cog.

    Seems like it would be pretty easy to map 7 AY's on the Apple and use one cog for the glue.

    Now, the Mockingboard also uses a VIA (6522) so I would need to see how that is mapped out in software because I would need to emulate that on the prop.
  • BasherBasher Posts: 25
    edited 2015-03-10 08:22
    Ahle2 wrote: »
    This is totally doable! I have had the same idea for years (Sinclair Spectrum, C64), but I have never actually done anything yet.
    Each emulated PSG takes a single core, so it should be possible to have a lot of them running at the same time.

    I've been using AYCog as an enhancment to my Clashbasher project for a while now and it works fine. The project is a video adapter for the zx spectrum which enhances the machines original graphics. I had spare cogs available so have used AYCog to emulate various old spectrum sound interfaces.

    I've been logging my progress on the worldofspectrum forum. The forum is down at the moment but hopefully will be fixed soon.

    I'm also planning to adapt Chip's Vocaltract object to emulate the Currah microspeech or the other old spectrum speech synths. but that still needs a lot of work!

    Working with AYCog was easy its pretty much plug and play :) Thanks.


    Just been reading through my past posts and realised that Ahle2 planted the idea of using AYCog in my head over a year ago! Forgot all about it. :)

    http://forums.parallax.com/showthread.php/150355-Will-counters-stay-in-sync-at-rollover
  • potatoheadpotatohead Posts: 10,261
    edited 2015-03-10 09:16
Sign In or Register to comment.