Jump to content
IGNORED

n00b here - ST sound chip AY-3-8910 ?


Recommended Posts

Hi folks

can I ask ST users, how much hardware access do you have to the AY-3-8910 sound chip(s) inside the ST hardware?

if you use C for instance can you read & write to registers to control this IC, etc.?

I am thinking of doing some synth type experiments with this chip and I am wondering about how much control the ST gives you over this IC

(Help a n00b understand; I might be phrasing this questions incorrectly, I'm basically wanting to experiment with this IC & I am wondering if the ST is a good front end for doing so...)

thanks!

-HC

Link to comment
Share on other sites

Hi folks

can I ask ST users, how much hardware access do you have to the AY-3-8910 sound chip(s) inside the ST hardware?

if you use C for instance can you read & write to registers to control this IC, etc.?

 

 

Hello,

 

there are two system calls DOSOUND() and GIACCESS() available in every respectable language and even in the ugly "C" you're talking about.

DOSOUND() for a series of commands (more or less like a MIDI string, even if it's not MIDI at all, with freq, attenuation etc... to be processed by the system without your intervention)

GIACCESS() to talk directly to the Yamaha registers.

 

You should read the Atari compendium, Appendix I, everything is detailed. The compendium is available as a PDF file.

 

Guillaume.

Link to comment
Share on other sites

You have full access to all chip registers. They are accessed with memory mapped I/O ports as follows:

 

===========#==#=======#===============================================#=====
----------------------|YM2149/AY-3-8910 Sound Chip				    |-----
===========#==#=======#===============================================#=====
$FFFF8800.B|R-|PSG_SEL|Read Data									  |
	   |-W|	   |Register Select							    |
$FFFF8802.B|rW|PSG_DAT|Write Data									 |
	   |  |	   | PSG Register 14 - Port A		    %RICDPBAS |
	   |  |	   | Reset IDE 0:no,1:reset (slow down)---+||||||| |F
	   |  |	   | Internal Speaker 0:on,1:off-----------+|||||| |F
	   |  |	   | Centronics Strobe----------------------+||||| |
	   |  |	   | Reset DSP 0:no,1:reset------------------+|||| |F
	   |  |	   | Printer Select In------------------------+||| |
	   |  |	   | Drive B select 0:on,1:off-----------------+|| |
	   |  |	   | Drive A select 0:on,1:off------------------+| |
	   |  |	   | Side select 0:side1,1:side0-----------------+ |
	   |  |	   | PSG Register 15 - Port B		    %xxxxxxxx |
	   |  |	   | Centronics Data Port-----------------++++++++ |

With clever use of interrupts (maxymiser tracker!), very decent music is possible. Basically you select the YM register with the upper register.

And then you write data to this YM register with the second ST address.

 

Write $01 to YM register $05 would mean

 

move.b #$05,$ffff8800 ; select Ym register $05

move.b #$01,$ffff8802 ; write $01 to this

Edited by simonsunnyboy
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...